Google AnalyticsBigQueryAnalytics EngineeringEvent ModelingGA4

Designing a GA4 Implementation That Holds Up in BigQuery

Move beyond default GA4 tags. Design a clean event model, align it with BigQuery export, and connect GA4 to real revenue data with Glow Reports.

Glow Reports Team profile
Glow Reports Team
—2 min read
GA4 and BigQuery schema diagram showing event and parameter structure

GA4 moved analytics to an event based model, and BigQuery export gives you raw event logs to analyze in SQL. Small mistakes in naming, parameters, and structure lead to months of noisy data that no one wants to query.

A solid GA4 setup starts with a measurement plan, not with tags in the interface.
You define the business questions, then design events and parameters that answer those questions across both GA4 reports and BigQuery.

1. Start With a Measurement Plan, Not With Tags

Before any tag goes live, write a simple measurement plan.

For each business question, specify:

  • The users or sessions involved
  • The key action that represents success
  • The GA4 event name
  • The parameters required to segment that action

Example

  • Question: Which lead sources drive high quality demo requests
  • Event: lead_submit
  • Parameters: form_id, lead_source, plan_type, company_size

A written plan keeps you from shipping dozens of unrelated custom events that never support real analysis.

2. Use Consistent Event Names and Parameters

GA4 ships with automatic events, enhanced measurement, and recommended events.
Many teams add custom events with inconsistent names and parameters.

Good patterns:

  • Use GA4 recommended event names where possible, such as purchase, generate_lead, login.
  • Use lower_snake_case for all custom event names and parameters
  • Reserve custom events for clear business actions, such as trial_started, workspace_created, subscription_renewal

Parameter discipline matters more than raw event volume.
For example, use the same plan_name, billing_period, and pricing_tier parameters wherever pricing appears.
A shared parameter dictionary keeps downstream SQL readable and avoids repeated mapping tables.

3. Design for the GA4 BigQuery Export Schema

GA4 exports one row per event to BigQuery, with user properties and event parameters stored in nested arrays.
A query that pulls event_params by name runs through an array of key value pairs for each row.[web:33]

To keep this manageable:

  • Standardize parameter keys and avoid one off names
  • Store numeric values as numeric, not as strings
  • Register important parameters as custom dimensions and metrics so they appear in the GA4 UI as well as BigQuery exports.

Example query pattern

SELECT
  event_date,
  event_name,
  (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'plan_name') AS plan_name,
  (SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'seats') AS seats
FROM
  analytics_123456789.events_*
WHERE
  event_name = 'trial_started'

A consistent event and parameter model turns BigQuery into a reliable source for funnels, cohorts, and LTV analysis instead of a pile of semi random fields.

4. Align GA4 With Downstream Revenue Data

GA4 alone stops at conversions.
Revenue sits in systems such as Shopify, Stripe, or your own billing database.

You need at least two bridges:

  • A common user or session key, such as a user ID passed from your backend into GA4 as a user property
  • A shared order, subscription, or lead identifier between GA4 events and downstream systems

Examples

  • GA4 generate_lead event carries a hubspot_deal_id parameter
  • GA4 purchase event carries a shopify_order_id
  • GA4 subscription_started event carries a stripe_subscription_id

Glow Reports connects GA4 with these revenue systems and respects this ID strategy.
This lets you answer questions such as "Which campaigns drive high LTV customers" without manual VLOOKUPs or ad hoc exports.

5. Build Explorations to Validate the Model

Once events and parameters ship, use GA4 Explorations to confirm that the model aligns with your measurement plan.

Create:

  • A funnel exploration for key paths such as session_start → view_item → add_to_cart → purchase
  • A cohort exploration based on trial_started or subscription_started
  • A user path exploration from high value events back to acquisition sources

If the explorations feel hard to build, the event model likely needs refinement.
After the model feels solid in GA4, Glow Reports can treat GA4 as a trusted input for automated board ready reporting instead of a source of one off custom charts.

Connect GA4 and BigQuery to Glow Reports to turn raw event streams into clean funnels, cohorts, and revenue reports without writing custom SQL every month.

Use Glow Reports With GA4 and BigQuery