GTMLab
Performance Marketing→Stage 2 · Paid demand · Ads that reach buyers while they decide, and pay back.
Paid mediaGoogle AdsSearch campaigns built for leads, quotes and bookings, not clicks.Meta AdsFacebook and Instagram campaigns wired to your CRM and judged on revenue.Click-to-WhatsApp Ads SystemAds that open a WhatsApp chat, so buyers talk to you in one tap.
Creative & creatorsPerformance CreativeCreative Hours: ads built on your winning hooks, estimated in hours before we start.Creator-Led AdsWe find the creators, script the videos and run them as ads from their own accounts.
Challenges we solveOur ads keep getting more expensiveOur agency isn’t deliveringOur creative burns out too fastOur ads look like ads, and people scroll past
ProofBluuu>30%Direct website revenue in the first 30 daysSee the case →
AI Search & SEO→Stage 2 · Search demand · Be the answer when buyers search Google or ask AI.
AI searchAI Search Optimization (AEO & GEO)Get named when buyers ask ChatGPT, Gemini and Google’s AI answers.AI Visibility CheckSee what five AIs tell customers in your city, in about a minute.
SearchSEORank on Google for the searches your buyers already make.Local Search & MapsFix your listings and reviews across the sources Google Maps and AI read.
Challenges we solveWe’re invisible in ChatGPT and AI answersOur Google ranking doesn’t carry into AICompetitors get named, we don’tOur listings and reviews don’t match
Proof200+Brands grown, with $20M+ in ad spend operatedSee all case studies →
Funnels & CRO→Stage 3 · Conversion · Turn the traffic you pay for into customers.
Pages & funnelsLanding Pages & FunnelsPages and funnels built around how your buyer decides, not around a template.CRO & Offer TestingTest offers, pages and flows until the conversion rate moves.
Challenges we solveWe get traffic but not leadsWe pay OTAs too much for bookingsOur offer doesn’t convert
ProofIkigai63xROASSee the case →
Data & CRM→Stage 4 · Revenue · Connect every ad to the revenue it earns.
Data, CRM & AICRM & WhatsApp SetupThe right CRM, set up around how you sell, with WhatsApp inside.Lead Quality & Sales OpsStop arguing about lead quality. Measure it, and fix how leads are handled.Attribution & Revenue DashboardEvery lead traced to revenue, even when the sale closes in WhatsApp, a booking system or a POS.AI Sales & Support AgentsCustom AI agents for WhatsApp that answer, qualify and book like your team.
Challenges we solveOur CRM is a messSales says our leads are trashWe can’t see which ads bring customersLeads wait hours for a WhatsApp reply
ProofHokiOne6× → >80×ROAS in six monthsSee the case →
About→How we work, who we are, and what we’ve done
How we workWhat performance marketing isWhy running ads alone doesn’t move revenue, and what does.What it’s like working with usOnboarding, the first tests, a week on your account, and when you see results.Reporting and the monthly reviewThe dashboards and decks you get, and how decisions are made.Who we’re forThe businesses we’re built for, and the ones we’re not.
About usAbout GTMLabWho we are, where we work, and why we’re built differently.Your team & agentsThe people and AI agents on your account, by division.CareersJoin a senior team running growth for APAC brands.
ResourcesCase studiesHow we grew revenue for hotels, clinics, developers and B2B teams.TestimonialsClients on camera, in their own words.PlaybooksSoonTeardowns of how leading brands market and sell.BlogIdeas, experiments and results from our operators.
About GTMLab

100+ senior operators. Ex-founders, YC alumni and a Forbes 30 Under 30.

Meet the team →
Pricing
Let’s Talk

Turn ad spend into revenue you can trace.

Forbes 30 Under 30 Team · Y Combinator Alumni · $20M Ad Spend Operated

Let’s Talk
GTMLab

Ads, AI search, landing pages and CRM, run as one engine. Every lead traced to the revenue it closes.

Available for Q4
Jakarta · Hong Kong · New York

Performance Marketing

  • Google Ads
  • Meta Ads
  • Click-to-WhatsApp Ads System
  • Performance Creative
  • Creator-Led Ads

AI Search & SEO

  • AI Search Optimization
  • AI Visibility Check
  • SEO
  • Local Search & Maps

Funnels & CRO

  • Landing Pages & Funnels
  • CRO & Offer Testing

Data & CRM

  • CRM & WhatsApp Setup
  • Lead Quality & Sales Ops
  • Attribution & Revenue Dashboard
  • AI Sales & Support Agents

Our Work

  • Case Studies
  • Clients
  • Proof
  • Testimonials
  • Creatives

Industries

  • Healthcare
  • Wellness
  • Ecommerce
  • Hospitality
  • Tourism
  • Tech Startups
  • Bali Property
  • Events & Conferences

Resources

  • Blog
  • GTM Mapping
  • Growth Decode
  • Growth Workshops

Company

  • About
  • How we work
  • Pricing
  • Careers
  • Contact
© 2026 GTMLAB.AI · 200+ brands · $20M+ ad spend operated
Resources  /  Attribution
AttributionHealthcareWellness+2Google AdsMeta

Why attribution is broken in 2025 — and the four fixes that work.

Last-click is lying to your CFO. Here’s what we learned rebuilding the attribution stack on $20M+ of operated spend.

Albert Lie
Co-Founder · Oct 14, 2025 · 12 min read
On this page8 sections
  1. The signal got worse, fast
  2. Last-click is a fairy tale
  3. Fix #1: Server-side everything
  4. Fix #2: Offline conversion import
  5. Fix #3: Cohort-based ROAS
  6. Fix #4: Creator-stitched attribution
  7. What this looks like in practice
  8. The bottom line
Why attribution is broken in 2025 — and the four fixes that work.

If you opened your CFO’s ROAS dashboard this morning and the number looked too good, congratulations: your attribution is lying. If it looked too bad, also congratulations — the lie just runs in the other direction. Either way, you are not measuring what you think you’re measuring, and the gap between “what the dashboard says” and “what the bank account does” has gotten wider every quarter since 2021.

We’ve spent the last three years rebuilding the attribution stack on $20M+ of operated spend across 200+ growth teams. Some of the rebuilds were surgical. Some were salvage operations. The patterns are the same. This post is what we’ve learned.

The signal got worse, fast

Three things happened between 2021 and 2025 that broke client-side tracking for almost every paid channel.

iOS 14.5 introduced ATT and gutted Meta’s pixel-level signal. The remaining click-through events became modeled estimates, and the modeling got more aggressive year over year. By 2024, a meaningful share of “reported conversions” in any Meta ad account is no longer a conversion at all — it’s a probabilistic guess based on aggregated post-event signal.

Safari ITP and Firefox ETP started capping first-party cookie lifetime to 7 days, then to 24 hours for some scripts. Most attribution windows are 30+ days. The math broke quietly.

Third-party cookies began their slow deprecation in Chrome — partial, repeatedly delayed, but real. Display, retargeting, and view-through measurement on the open web have already lost most of their fidelity, and the writing on the wall is what every senior media buyer is reading.

The signal got worse, but most reporting dashboards kept reporting like nothing happened. That’s the lie.

The platforms responded by leaning harder on modeling. Google’s conversion modeling, Meta’s post-event attribution, TikTok’s VTA — all of them turned dials toward “estimate more, observe less.” That’s rational from the platform’s perspective. From the advertiser’s perspective, it means the conversions credited to your campaigns are increasingly statistical fiction.

Last-click is a fairy tale

Last-click attribution was always a fairy tale, but in 2025 it’s a fairy tale told by someone who’s lost half their library. The remaining clicks the system can see are even more skewed toward the bottom of the funnel than they used to be, because:

  • Branded search still tracks cleanly — people search your brand, click, convert. Easy. Last-click loves it.
  • Cold prospecting via Meta now relies on modeled conversions stitched from anonymized signal. Last-click sees half of what actually happened, at best.
  • YouTube, TikTok, Display — the channels where the customer first hears about you — get systematically under-credited because the click that closes the deal is almost always somewhere else.

The predictable result: most accounts cut their prospecting spend, double down on branded search, and then wonder why blended CAC slowly climbs while reported ROAS goes up. The dashboard celebrates. The bank account doesn’t.

Four fixes work. None of them are new. All of them require commitment to running differently from how most agencies run.

Fix #1: Server-side everything

Move every important conversion event to server-side. This is not optional anymore.

The mechanics: instead of a pixel firing in the browser when a user converts, a server-side container (GTM Server, Stape, RudderStack, Segment — we’ve shipped on all of them) fires the event from your infrastructure to the platform’s conversion API. This bypasses browser-level restrictions (ITP, ad blockers, third-party cookie blocking) and dramatically improves the platform’s ability to match the event to a user.

The proof point: Event Match Quality on Meta. On client-side pixel, EMQ for most accounts sits around 4–6 out of 10. Move to CAPI through a server-side container with proper user-data hashing, and EMQ climbs to 8–10. The same conversion event, transmitted differently, is worth ~30–40% more to the algorithm.

What “more” means in practice: more conversions credited (because more matches), tighter optimization (because the algorithm has cleaner signal to learn from), better lookalike audiences (because the seed data is bigger). It compounds.

Fix #2: Offline conversion import

Most B2B and considered-purchase funnels don’t convert in-session. A lead form submission is not a customer. A booked consult is not yet revenue. Last-click attribution stops at the form. The CRM picks up the story from there. The two systems never talk.

Fix it by stitching them. Offline conversion import (OCI) is the mechanism: the CRM pushes events back to the ad platform when a lead becomes a paying customer (or a booked appointment, or a closed deal), with the original click ID stitched to the event. The platform then knows which ad — which ad set, which campaign, which creative — produced that revenue, not just that lead.

This single change reframes the conversation in every monthly review we’ve run for healthcare and B2B clients. The CMO stops saying “we got 240 leads last month” and starts saying “we got 42 booked patients from Google, 11 from Meta, and our blended CAC by booked patient is $312.” The CFO leans in. The conversation changes.

The data hygiene that makes this work

OCI requires that gclid, fbclid, and equivalent click IDs are captured at lead-submission time and stored on the lead record in the CRM. That’s a 90-minute integration job most agencies skip. Done well, it’s the single highest-leverage piece of plumbing in the entire stack.

Fix #3: Cohort-based ROAS

Single-month ROAS is a single-purchase metric. Most categories — wellness, healthcare, subscription, marketplaces — are multi-purchase businesses. The metric and the business don’t match.

Cohort-based ROAS fixes this by tracking revenue by acquisition month, then projecting forward at month-3 and month-6 checkpoints. The metric becomes “the customers we acquired in March generated $X by June, $Y by September, $Z by December.” That number can be projected, modeled, and trusted in a way single-month ROAS cannot.

For wellness brands specifically, we’ve watched accounts triple their paid budget on the back of a properly modeled month-6 cohort ROAS where month-1 ROAS would have suggested cutting spend by 40%. The difference between the two numbers is whether the brand chooses to scale or stall. The business doesn’t change; the lens changes; the outcome diverges.

Fix #4: Creator-stitched attribution

For consumer brands — especially wellness, beauty, and supplement D2C — creators now drive a large fraction of revenue, often 30–50%. Most accounts attribute none of it. Creator spend goes into a black box; conversions sit in “direct” or “organic social” on the dashboard; the feedback loop never closes.

Stitch it. Three layers:

  1. Creator-specific UTM codes on every link the creator posts. The code carries the creator’s ID, the platform, the campaign, and the date.
  2. Post-purchase “how did you hear about us?” survey on the order confirmation. Multi-select. The data’s rougher than UTM-stitched conversions, but it captures the creators whose content didn’t get a click but did get a sale.
  3. Weekly creator-level ROAS report, computed from the stitched data and aged at the same cohort cadence as the rest of your paid. Top performers get paid amplification; under-performers get rotated out.

This is the most operationally heavy of the four fixes. It also produces the largest single behavioral change in how the brand spends. Once the data is on the table, the conversation goes from “we work with 47 creators” to “we work with 12 creators that produce 80% of attributable creator revenue — let’s amplify those.”

What this looks like in practice

The accounts we’ve rebuilt this way share a few visible markers six months in:

  • The blended CAC line on the dashboard agrees with the CRM-side blended CAC line, plus or minus 10%. (Before the rebuild, divergence of 40–60% is the norm.)
  • Branded search budget gets cut. Prospecting budget gets increased. Total paid spend usually goes up, not down, because the team has finally found the channels that were under-credited and is willing to scale them.
  • Monthly business reviews stop being about ROAS arguments and start being about cohort projections. The CFO joins. The conversation is shorter.

The fixes aren’t hard to describe. They are hard to commit to. Each one requires saying “the dashboard I’ve been staring at for years is wrong, and the new number will look worse before it looks better.” That’s the part most teams choke on. The teams that don’t are the ones that compound.

The bottom line

Attribution in 2025 is broken in a way that’s structural, not cyclical. The platforms aren’t going to fix it for you. The browsers aren’t going to roll back ITP. The regulators aren’t going to ease ATT. The signal that you used to get for free is gone, and the only way back to a clean read on your paid acquisition is to rebuild the plumbing.

Server-side conversions. Offline import to and from the CRM. Cohort-based ROAS. Creator-stitched attribution. None of these are new ideas. All of them are things most accounts haven’t shipped. The accounts that ship them stop arguing about whether paid is working and start arguing about how to scale it.

If you want the second conversation instead of the first, the rebuild starts with the plumbing.

On this page
The signal got worse, fastLast-click is a fairy taleFix #1: Server-side everythingFix #2: Offline conversion importFix #3: Cohort-based ROASFix #4: Creator-stitched attributionWhat this looks like in practiceThe bottom line
About the author
Albert Lie
Co-Founder

Co-founded GTMLab in 2022 after a decade leading paid acquisition for marketplaces and consumer brands across SEA, HK, and India. Writes about the operator side of growth.

Share this article
Keep reading

More field notes from the bench.

Attribution7 min

Best Agencies for Marketing Attribution and Tracking Setup in 2026

Compare six marketing attribution and tracking setup agencies in 2026, from enterprise data consultancies to teams that connect tracking with paid media execution.

Kevin ChoOct 6, 2026
Attribution5 min

How to Implement Server-Side Tracking for Marketing Attribution

Browser pixels miss sales from iOS, ad blockers and WhatsApp. This guide shows how to audit your tracking, set up a server-side stack, and check that your ad platforms finally see real revenue.

GTMLab TeamOct 4, 2026
Attribution6 min

Leads but No Revenue? How to Track Offline Conversions So Your Ads Learn Who Buys

If your ads bring leads but not revenue, Google and Meta are optimising for form fills they can see, not sales they can't. Offline conversion tracking sends your closed sales back to them, so bidding learns who buys.

GTMLab TeamOct 5, 2026

Let’s engineer your lead generation engine.

More qualified leads, lower CAC, and a clear view of which ads bring in revenue.

Ways to work with us
Monthly plansOne-off buildsGrowth partnership

How we start

  1. 1Discovery callWe learn how you sell, where leads go cold and what could work better.
  2. 2Read-only auditIf we’re a fit, we get read-only access to your ads, analytics and CRM, and diagnose what’s really going wrong.
  3. 3Your proposalWe walk you through the diagnosis and the engine we’d build to fix it.

For lead generation businesses already running paid ads. Replies within 24 hours.

Explore a partnership
Selected clients
LazadaCinepolisIHH HealthcareGleneaglesMount ElizabethSiloamELSA SpeakCekatAIAshley GroupBluuuCentral WellnessDoré by LeTaoGoDrinksIkigaiMediflyPalma Islands