Back to blogMeasurement

Using GA4 Data for Marketing Mix Modeling: Setup Guide

Oct 12, 20259 min read
Using GA4 Data for Marketing Mix Modeling: Setup Guide

Most marketing mix models need two things: spend data per channel and outcome data (revenue, conversions, leads). Your spend data comes from ad platforms. Your outcome data usually comes from Google Analytics 4. Getting the GA4 side right is where most teams trip up.

I have seen MMM results vary by 30%+ depending on how GA4 data was exported. Same business, same time period, same model. Different GA4 configuration, different results. Here is how to set it up correctly.

Which GA4 Metrics to Export

For your dependent variable (the thing you are trying to explain), export one of these weekly: purchase revenue, transaction count, or a custom conversion event count (like lead form submissions). Pick one. Do not mix them.

For context variables that improve model accuracy, export: total sessions, new users, organic sessions (to control for organic trends), and direct sessions (a proxy for brand strength). These help the model separate marketing-driven traffic from organic growth.

Do not export GA4 channel-level revenue as your spend data. GA4 channel attribution is last-click by default and will skew your model. Use actual spend from each ad platform API. The only thing GA4 should provide is the overall outcome metric.

Session vs. User vs. Event Scoping

GA4 has three scoping levels and they produce different numbers. Session-scoped metrics count the session where the event happened. User-scoped metrics count unique users. Event-scoped metrics count every occurrence.

For MMM, use event-scoped metrics. You want total purchase events and total revenue, not unique purchasing users. The model needs to see the full volume of outcomes per week. User-scoped metrics flatten your data and hide patterns the model needs.

One exception: if you are modeling new customer acquisition, use user-scoped "first_purchase" events. This gives you net new customers per week, which is the right KPI for acquisition models.

Channel Groupings: Use Default or Custom?

GA4 default channel groupings (Organic Search, Paid Search, Paid Social, etc.) are fine for directional analysis but too coarse for MMM. You do not want "Paid Social" as one bucket when you need to separate Meta from TikTok from Pinterest.

Use UTM parameters consistently. utm_source=facebook, utm_source=tiktok, utm_source=google. Then export sessions by source for context variables. But remember: do not use GA4-attributed conversions as the model input. Use total conversions as the dependent variable and actual spend as the independent variables.

BigQuery Export: The Right Way

If you are serious about MMM, use the GA4 BigQuery export. The standard GA4 UI has sampling issues above 500K events, 10-minute query timeouts, and limited date range comparisons. BigQuery gives you raw, unsampled event data.

Enable the BigQuery export in GA4 Admin > Product Links > BigQuery Links. Choose daily export (not streaming unless you need real-time, which you do not for MMM). Wait 24-48 hours for the first tables to appear.

Then write a SQL query that aggregates to weekly granularity: total revenue, total transactions, total sessions, total new users. Group by ISO week. Export as CSV. That is your outcome data for the model.

Common GA4 Pitfalls That Break Your MMM

Sampled data.GA4 standard reports sample data for large properties. If you see a yellow icon saying "Based on X% of data," your numbers are estimates. Use BigQuery or the GA4 Data API with quota limits to get unsampled data.

Attribution window changes. If someone changed your GA4 attribution settings mid-year (from 30-day to 7-day, for example), your historical data is inconsistent. The model will pick up on this discontinuity and produce unreliable results. Check your attribution settings history before exporting.

Missing e-commerce events.GA4 requires specific event implementations for purchase tracking. If your developer set up "purchase" events incorrectly (wrong currency, missing value parameter, duplicate events), your revenue data is wrong. Validate in the DebugView before trusting it for modeling.

Consent mode gaps. If you are in the EU or using consent mode, GA4 models unconsented traffic using behavioral modeling. This means your session and user counts include statistical estimates, not actual measurements. The variance is usually within 5-10%, which is acceptable for MMM. But be aware your data has a noise floor.

With Spendmix, you can connect GA4 directly through our data integration. We handle the export, scoping, and weekly aggregation automatically. See the output in our demo report.

Ready to see what your budget is actually doing?

Start your free trial. Upload your data, get your first MMM report in days, not months.

Start your free trial