How do you join Google Ads cost with GA4 sessions?
Out of the box, you don’t — spend lives in one silo and sessions in another, and the join is on you. It needs campaign keys that actually match, UTM conventions that survive renames, and both sides landed in the same database at the same grain. Most teams settle for eyeballing two dashboards instead.
We build that join into the marts: campaign names parsed into market, product and funnel-stage columns, keys aligned with your GA4 session marts, and cost sitting next to the sessions and revenue it bought. That’s the foundation a real cost-per-acquisition number stands on.