Attribution Readout — 2026-10-05
The question
Four tools report 35 to 60 conversions for the same month. Which number do we trust, which model do we use, and where should the budget go? This is a fictional B2B SaaS with a 90-day sales cycle.
Source of truth
The CRM, at 35 closed deals, defines how many conversions happened. It's the only system where revenue is real. The other sources only explain where those deals came from.
There is a timing problem to fix first. With a 90-day cycle, the 35 deals closed last month were mostly sourced from touches 2–4 months ago. The ad platforms' 50 and 40 are probably mostly leads, demos, or form fills in the last 30 days. So the numbers are likely not measuring the same event in the same period. Before comparing anything, confirm what each tool counts as a "conversion":
| Source | Probably counting | Window |
|---|---|---|
| Google Ads (50) | Lead or demo-request events, including view-through | Its own attribution window |
| Meta (40) | Same, with a generous view-through window | Its own attribution window |
| GA4 (60) | Any key event, including repeat or non-deal events | Last non-direct click |
| CRM (35) | Closed-won deals | Closed last month, sourced from months earlier |
What each source says
| Source | Reports | Bias | Our read |
|---|---|---|---|
| Google Ads | 50 | Over-claims itself, with view-through and a self-serving window | Claims are inflated |
| Meta | 40 | Same bias, and likely strongest on view-through | Claims are inflated |
| GA4 | 60 | Counts more than deals, so likely lead-level or double-fired events, and sends unknowns to direct | Not a deal count |
| CRM | 35 | Depends on what reps and forms recorded | Trust for the count, not the source field |
Google and Meta together claim 90 conversions against 35 real deals. Never sum them. Overlap is certain, and some of what they claim are leads that never closed. GA4's 60 above the CRM's 35 is a sign it's counting something other than closed deals. Don't try to make these tie out. Explain the gap instead.
Model comparison
Use first-touch and position-based (U-shaped) side by side, computed from CRM or warehouse data. Do not use the GA4 or Google Ads last-click or data-driven views as the decision model.
- Last-touch will over-credit branded search and direct. Those are the final steps of a 90-day journey, not its cause.
- Data-driven attribution needs roughly 200 conversions and 2,000 interactions a month. At 35 deals, it would likely collapse toward last-click.
- First-touch shows what creates demand. Position-based (40/40/20) shows what created the opportunity and what closed it, which fits the B2B "created" and "closed" moments.
- The gap between first-touch and last-touch is itself the insight. Channels that rank much higher in first-touch are your demand creators.
Confidence and gaps
- Direct at 45% of sessions is a measurement problem, not a channel. It's probably a mix of stripped referrers, dark social, dropped UTMs, app-to-web handoffs, and people who found you elsewhere and typed your name. It most likely hides real top-of-funnel work. High confidence on this diagnosis, low confidence on the split.
- Branded search probably harvests demand that other channels, such as Meta, content, and word of mouth, created. Segment it from non-branded before judging any search spend.
- Offline touches, like sales conversations, events, and referrals, are invisible to MTA. This is where B2B tracking is weakest.
- AI search is a likely contributor to the direct and branded-search inflation. See the ai-seo skill for that.
- Sample size: 35 deals is small. One month of data can swing a lot, so look at trends over several months rather than this month's split.
Recommendation
What to trust
- The CRM for the deal count (35).
- Platform numbers only as directional trends, not as counts. If every source shows a channel rising or falling, believe the direction.
- Self-reported attribution as the tiebreaker where platforms fight over the same deals.
Which model
First-touch and position-based, side by side, on CRM data. Report the first-touch vs. last-touch gap every month.
Budget (moderate confidence, no big reallocations yet)
- Don't cut anything based on this month's last-touch view. Cutting Meta or other upper-funnel spend because it "converts less" is the classic mistake. Its effect shows up months later, as direct or branded search.
- Don't scale based on platform-reported conversions. Google and Meta claim 2.5× the real deals between them.
- Hold the total budget flat for 1–2 quarters while you fix measurement. Shift only small amounts, around 10%, toward channels that look good in both first-touch and position-based views.
- Judge channels on pipeline and revenue per dollar from the CRM, not on platform conversions. Use cohorts that match the 90-day lag, for example deals closed this month against spend from 90 days ago.
- Split branded from non-branded search. Cap branded spend if it's mostly capturing demand that already existed.
Fixes to make in the next 30 days
- Add "How did you first hear about us?" to the demo-request form. Use a pick-list plus free text, and write the answer to the CRM. This is the most direct way to see inside the 45% direct. Discount the shares you get, since recall favors memorable touches.
- Audit what each platform counts as a conversion. Align everything to a CRM-validated event such as a qualified opportunity or closed-won, and import offline conversions back to Google and Meta.
- Check UTM discipline and the referrer exclusions (OAuth, checkout, self-referrals) so direct shrinks to what it truly is.
- Write the first-touch source and a full touch path into the CRM, rolled up to the account, since one B2B deal involves several people.
- Fix the identify gap so that anonymous browsing is joined to the demo request. The analytics skill and
first-party-tracking.mdcover this.
Tiebreaker test worth running: a geo holdout or an on/off test on Meta or non-branded paid search. Because the cycle is 90 days, measure lift on pipeline created (qualified opportunities) rather than closed deals. Closed deals would take too long to read. This is what settles whether Meta and Google are both truly driving deals or just claiming them.
Bottom line: 35 is the real number. The other three are different measurements of different things, and the inflated platform counts are normal. Keep the budget stable, run first-touch and position-based together, add a self-reported question, and test incrementality before moving real money.
Real run in an isolated folder with only this skill installed. Only the Skill and Read tools were enabled, so nothing was fetched from the web and no file was written. The example is fictional. The conversion numbers are invented.
它做什麼
分兩條線。解讀線:說清歸因能告訴你什麼、不能告訴你什麼(「每個模型都是一種觀點」),比較首次接觸、末次接觸、末次非直接、線性、時間衰減、位置型與資料驅動模型各自怎麼「說謊」,並給出三種衡量方式(多點觸擊歸因、行銷組合建模、增量實驗)以及如何依預算與週期選擇。它還涵蓋「你是怎麼知道我們的」這類自我回報資料、對帳 Google、Meta、GA 與 CRM 數字的方法(以一個資料源為準、絕不把各平台相加、看方向而不是追求精確吻合)、盲區(直接流量、品牌字搜尋、暗社交、AI 流量)以及依業務類型的預設做法。建置線:以身分圖譜做第一方歸因、呼叫 identify()、透過 webhook 在第三方網域上拼接轉換、護欄措施,以及把來源資料寫進 CRM。四份參考文件講得更深。
運作方式
先問這些數字要支撐什麼決策,確定以哪個資料源為準,把各模型並排比較,最後給出一份附信心程度與缺口說明的簡短「歸因解讀」。
適合什麼場景
各個儀表板數字對不上、又需要一個站得住腳的預算分配依據的行銷人員。
低風險:純指令檔,沒有腳本,不連網、不寫檔。建置線描述了跨站追蹤個人並以電子郵件合併身分,工具清單中還有識別匿名 B2B 網站訪客的服務。這些做法受法律規範(例如 GDPR、ePrivacy、CCPA),通常需要使用者同意與隱私聲明;Skill 加入了匿名性護欄,確保個人 ID 不會被帶到第三方網址,但它不提供法律意見。它引用的廠商門檻(例如 Google 資料驅動歸因的最低資料量)會隨時間變動。部分連結指向本套件不包含的工具指南。已用虛構數字試用過一次。