Multi-touch attribution (MTA)

Splitting one conversion's credit across the ads, emails, searches, and links that appeared along the path, not just the last one.

give every ad some creditsplit the sale across all the clicksnot just last clickwhich steps helped before they boughtthe ad they saw first and the ad they clicked both did somethingstop giving the whole sale to one channelmulti tuch attributionshare credit across the whole path

See it

Live demo coming soon

What it is

Multi-touch attribution splits one conversion's credit across the recorded touchpoints that came before it instead of awarding everything to one. A linear model shares credit evenly, time decay gives more to recent touches, and position-based models favor the first and last while leaving some credit for the middle. Note that Google retired those rule-based models in Google Ads and GA4 during 2023, leaving data-driven and last click, so you may have to build the split yourself in a warehouse.

Reach for MTA when journeys regularly span several ads, emails, searches, or referrals and last click keeps making the closing channel look like it worked alone. It gives a consistent accounting view for comparing assists, provided every report uses the same identity rules, attribution window, and model.

Gotcha: the model can only split credit across touchpoints it observed. Cookie loss, cross-device use, offline contact, and closed ad platforms leave holes that polished decimals cannot repair. MTA also describes association, not incremental lift. A channel can receive credit on every path while causing none of the conversions.

Ask AI for it

Build a BigQuery multi-touch attribution query from touchpoints(user_id, touch_id, channel, touched_at) and conversions(user_id, conversion_id, value, converted_at). Limit eligible touches to the 30 days before each conversion. Calculate linear, 7-day half-life time-decay, and 40/20/40 position-based credit with SQL window functions. For position-based only, use 50/50 when a path has exactly two touches; for every model, give a single-touch path 100%. Return channel credit and revenue by model, and add assertions that each conversion's weights sum to 1.0 within a tolerance of 1e-9.

You might have meant

attribution modellast click first touch attributionattribution windowidentity resolution user stitchingutm parameters