When every client's GA4 is configured differently, multi-site reporting becomes a per-client tweak job and alerts must be hand-tuned for each setup. Standardize the events, parameters, and conversion definitions across every property and the whole operation stays sane at 20+ clients.

The standard event set

GA4 ships with automatic events (page_view, session_start, scroll). For agencies the additional must-have events across every client are:

1. page_view

Automatic. Fires on every page load. Use the page_location and page_title parameters as default.

2. form_submit (or form_start + form_submit)

GA4 has enhanced measurement for form interactions. Enable it via Admin → Data Streams → Web → Enhanced measurement → Form interactions. For better control, fire your own form_submit via Google Tag Manager with a parameter form_id identifying which form on the page submitted.

3. generate_lead

The canonical GA4 lead event. Fire when a primary lead form submits successfully (not just visits the thank-you page). Include parameters: currency (USD), value (estimated lead value), form_id.

4. click (outbound + CTA)

Enable outbound click tracking via enhanced measurement. Add a custom cta_click event for primary CTAs (button on the hero, pricing-page CTA, demo-booking link). Parameters: cta_id, cta_location (header / hero / pricing / footer), cta_destination.

5. scroll (depth)

Enhanced measurement covers 90% scroll. For agencies, the 90% scroll proxy correlates well with "user actually read the page". Useful for content-heavy lead-gen sites.

The standard conversion set

Configure these as Conversions in Admin → Events → mark as conversion. Three conversions per client is the sweet spot. More than five = signal gets diluted.

  • Primary conversion: generate_lead. The main thing the site is supposed to do.
  • Secondary conversion: contact_form_submit or demo_booked. The next-best signal.
  • Soft conversion: cta_click on pricing or booking page. Tracks intent even before form fills.

The standard parameter convention

Use the same parameter names across every client. This is what makes cross-client reporting work without custom field mappings per site.

ParameterTypeUsed onExample
form_idstringform_submit, generate_lead"contact-hero", "demo-modal"
cta_idstringcta_click"hero-primary", "pricing-cta"
cta_locationstringcta_click"header" / "hero" / "pricing" / "footer"
valuenumbergenerate_lead, purchase50 (estimated USD lead value)
currencystringgenerate_lead, purchase"USD"
page_sectionstringcta_click, scroll"pricing" / "features" / "blog"

Custom dimensions to register

For each custom parameter you want available in GA4 reports, register a Custom Dimension in Admin → Custom definitions. Register the same set on every client property:

  • form_id (event-scoped)
  • cta_id (event-scoped)
  • cta_location (event-scoped)
  • page_section (event-scoped)

Cross-domain and subdomain

Many client sites have a marketing subdomain plus an app subdomain. Configure cross-domain tracking once per client so the funnel is not split.

  • Admin → Data Streams → Web → Configure tag settings → Configure your domains.
  • Add both example.com and app.example.com.
  • Verify the _ga linker is passing in the URL when crossing.

What NOT to track

  • Every button click. Tag only meaningful CTAs. Tracking every click creates noise and hits event count quotas.
  • PII. Never send email, phone, name, or full URL with query params as event parameters. GA4 will flag and reject; worse, you risk policy violations.
  • Internal traffic. Filter your agency IPs and the client team IPs via Admin → Data Filters.

The 10-minute audit for any new client property

When onboarding a new client, run this audit before doing anything else:

  1. Is GA4 receiving data (real-time report shows current activity)?
  2. Is enhanced measurement enabled (Form interactions, Outbound clicks, Scrolls)?
  3. Are conversions configured (at least one primary conversion event marked)?
  4. Is internal traffic filtered?
  5. Are cross-domain settings correct if applicable?
  6. Are the agency's custom dimensions registered?
  7. Is the data retention setting at the maximum allowed (14 months for free GA4)?
  8. Is Google Signals on or off per the client's privacy policy?

How standardization unlocks multi-site monitoring

When every property fires generate_lead as the primary conversion with the same parameter convention, a multi-site monitor like Parafunnel can show every client's primary conversion rate on one screen, set one alert threshold across all of them, and produce consistent client reports. Without standardization you wire each client manually.

Related reading

Standardize GA4. Monitor every client.

Parafunnel auto-discovers every GA4 property in your account and applies your conversion definitions across all of them.

Try Parafunnel Free