Rule-based attribution models — first touch, last touch, linear, even position-based — assume user journeys are sequential. They're not. Users bounce between devices, revisit from different channels, and convert weeks after initial exposure. Journey data shows that the clean funnel model is a useful fiction, not a reflection of reality.
Build an attribution graph in BigQuery using user_pseudo_id (which identifies a browser or app instance, not a person) or, better, a deterministic cross-device identifier such as a logged-in user_id. Model channels as nodes and the transitions between touchpoints as edges, with decay-weighted influence based on recency and interaction depth (scroll depth > pageview > impression).
Use BigQuery ML's logistic regression to derive data-driven weights from your own conversion data rather than trusting GA4's black-box DDA model. The resulting attribution is specific to your business, explainable to stakeholders, and auditable.
The implementation starts with a touchpoint table: each row is a user-channel-timestamp triple. From this, you build a transition matrix showing the probability of moving from one channel to another. The removal effect — what happens to conversion probability when you remove a channel — is your measure of each channel's contribution.
Present the channel graph to stakeholders. It's the most honest picture of how your marketing channels interact: which channels feed each other, which ones end journeys without a conversion, and where the handoffs that lead to conversion happen.
Viktor Kvant
Senior Web Analyst specialising in data ownership, advanced tracking implementations, and translating data into strategic business value.
Connect on LinkedIn