Cross-Platform Ad Attribution: How to Track Conversions Across Meta, TikTok, and Google
Founder at Adship

If you run ads on Meta, TikTok, and Google simultaneously, you have almost certainly noticed that the numbers do not add up. You spend $5,000 across three platforms. Each platform reports more conversions than your CRM shows. Combined reported revenue exceeds actual revenue by 40–60%.
This is not a bug. It is how platform-native attribution works — each platform takes credit for the same conversions. Understanding cross-platform attribution, and fixing it, is one of the highest-leverage improvements you can make to your ad measurement system.
Why Cross-Platform Attribution Is Broken by Default
Each Platform Lives in Its Own Silo
Meta, TikTok, and Google each have their own pixel or SDK, their own attribution windows, and their own logic for claiming conversion credit. None of them talk to each other.
When a customer sees your TikTok ad on Monday, clicks your Meta ad on Wednesday, and searches Google on Friday before buying — all three platforms can claim that conversion.
- TikTok: View-through or click attribution within a 7-day or 28-day window
- Meta: 7-day click / 1-day view attribution (default)
- Google: Last-click attribution unless you configure otherwise
Total reported conversions: 3. Actual conversions: 1.
The Cookie Deprecation Problem
Browser-based pixels (the Meta Pixel, TikTok Pixel, Google gtag) rely on third-party cookies and browser data that increasingly do not exist:
- iOS 14.5+: App Tracking Transparency opt-out. Apple blocks IDFA and limits mobile attribution.
- iOS 17: Link tracking protection strips URL parameters from clicked links in Safari.
- Chrome: Third-party cookie deprecation (rolling out 2024–2026)
- Safari ITP: Intelligent Tracking Prevention limits first-party cookies to 7 days
The result: browser pixels see only a fraction of actual conversions — typically 40–70% of real events, depending on audience and device mix.
The Three Attribution Models You Need to Know
1. Last-Click Attribution
The last channel the customer clicked before converting gets 100% of the credit.
- Who uses it: Google Ads default (for most campaign types)
- Problem: Systematically undervalues top-of-funnel channels (TikTok, Meta brand awareness) and overvalues branded search
- When it is valid: Simple, low-cost products with a short sales cycle where the last click genuinely drives conversion
2. Multi-Touch Attribution (MTA)
Credit is distributed across all touchpoints in the customer journey. Variants include linear (equal credit), time-decay (more recent = more credit), and position-based (first/last get more).
- Who uses it: Analytics platforms (GA4, Northbeam, Triple Whale, Rockerbox)
- Problem: Requires complete touchpoint data — which you cannot have across platforms with cookie loss
- When it is valid: Brands with well-instrumented server-side tracking and longer sales cycles
3. Media Mix Modeling (MMM)
Statistical regression analysis that correlates ad spend across channels with revenue over time, without relying on individual click tracking.
- Who uses it: Large advertisers, DTC brands at scale
- Problem: Requires significant historical data (12+ months), expensive to implement correctly
- When it is valid: Brands spending $500K+/year on ads who need channel-level budget decisions
Server-Side Tracking: The Foundation of Accurate Attribution
Server-side conversion tracking (via Conversions API for Meta, Events API for TikTok, and Offline Conversions for Google) is the most important attribution fix available today.
How Server-Side Tracking Works
Instead of relying on a browser pixel to fire (which fails with ad blockers, iOS restrictions, and cookie limits), your server sends conversion events directly to each platform's API when the conversion occurs.
Flow:
- Customer clicks ad and visits your site
- Browser pixel fires (catches some conversions)
- Customer completes purchase on your backend
- Your server sends the same event to Meta CAPI, TikTok Events API, and/or Google via secure server-to-server API call
- Platforms match the event using first-party identifiers (email hash, phone hash, external ID)
Why Server-Side Is Better
| Signal Type | Browser Pixel Coverage | Server-Side Coverage |
|---|---|---|
| iOS users (opted out) | Near zero | Full (server-to-server) |
| Ad blocker users | Near zero | Full |
| Safari ITP users | 7-day max | Full |
| Chrome (no third-party cookies) | Limited | Full |
| Typical coverage | 40–70% | 85–95%+ |
Deduplication Is Critical
When you run both a browser pixel AND server-side API, you will send duplicate events — one from the browser, one from the server. Platforms can process duplicates, but only if you implement event deduplication correctly.
Meta CAPI deduplication: Use the same event_id in both the pixel event and the CAPI event. Meta deduplicates based on this ID within a 48-hour window.
TikTok Events API deduplication: Use event_id matching between TikTok Pixel and Events API events.
If you skip deduplication, platforms count every event twice — which inflates your reported conversions without improving actual results.
Building a Cross-Platform Attribution System
Step 1: Implement Server-Side Tracking on All Active Platforms
Priority order:
- Meta CAPI — highest impact, most mature, best deduplication tools
- TikTok Events API — critical if TikTok is a significant spend channel
- Google Enhanced Conversions — easier to implement than full offline conversion upload
For Meta CAPI, you need:
- A server-side event endpoint
- Access to hashed customer identifiers (email, phone, name, IP, user-agent)
- An
event_idthat matches your pixel implementation
For TikTok, the setup mirrors Meta CAPI closely — you hash identifiers and POST events to the Events API.
Step 2: Implement UTM Parameters Consistently
UTM parameters allow your analytics platform (GA4, your CRM) to track which channel and campaign drove traffic — independent of platform-native attribution.
Consistent UTM structure across all platforms:
utm_source=meta | tiktok | google
utm_medium=paid
utm_campaign={campaign_name}
utm_content={ad_name}
utm_term={ad_set_name}
iOS 17 / Link Tracking Protection caveat: UTM parameters in URLs are stripped by Safari's LTP on Meta click links. Meta's Click ID (fbclid) is similarly stripped. This is why server-side tracking matters — UTMs are unreliable on mobile Safari.
Step 3: Centralize Data in a Single Source of Truth
Platform-native dashboards will always show inflated numbers because each platform optimizes its own attribution. Your source of truth should be:
For e-commerce:
- Your Shopify/WooCommerce backend order data
- Your CRM or database showing actual revenue
For lead gen:
- Your CRM showing lead count, MQL/SQL status, and closed deals
Match this data back to ad spend using UTM parameters and server-side event data.
Step 4: Choose an Attribution Tool (Optional, at Scale)
For brands spending $50K+/month, dedicated attribution tools provide more granular cross-channel view:
| Tool | Approach | Best For |
|---|---|---|
| Northbeam | MTA + MMM | DTC brands, $30K+/mo |
| Triple Whale | MTA + Pixel | Shopify brands |
| Rockerbox | MTA | Mid-market DTC |
| Google Analytics 4 | Last-click / Data-driven | Any brand with GA4 |
| GA4 + BigQuery | Custom modeling | Large brands with data team |
Platform-Specific Attribution Settings to Configure
Meta Attribution Settings
In Meta Ads Manager → Ad Account Settings → Attribution:
- Default attribution window: 7-day click, 1-day view (recommended)
- View-through window: Reduce to 1-day view unless you have brand campaigns where view-through is meaningful
- Avoid 28-day click windows if you use other attribution tools — longer windows = more cross-platform overlap
TikTok Attribution Settings
In TikTok Ads Manager → Campaign Level → Optimization Events:
- Click window: 7 days (default), reduce to 1-3 days for lower-funnel campaigns
- View window: Disable for conversion campaigns if Meta's view-through is already counting these users
- Smart+ campaigns use TikTok's automated attribution — be aware this can look different from your manual data
Google Attribution Settings
In Google Ads → Conversion Actions → Attribution Model:
- Data-driven attribution: Best if you have sufficient conversion volume (300+ conversions in 30 days)
- Last click: Simple but undervalues upper-funnel keywords
- Avoid first click — Google overvalues branded terms
Practical Cross-Platform Reporting Framework
What to Report and From Where
| Metric | Source of Truth | Why |
|---|---|---|
| Spend | Each platform's API | Billing is accurate |
| Impressions / CPM | Each platform | Reach metrics are reliable |
| Clicks / CTR | Each platform | Click data is reliable |
| Conversions | Your backend (CRM/store) | Only true source |
| Revenue | Your backend | Only true source |
| ROAS | Calculated (Revenue ÷ Spend) | Use backend revenue |
The Overlap Problem in Practice
When your backend shows 100 purchases and platforms report 180 total, the question is: which platform gets credit?
Practical approaches:
- Attribution by first touch: Credit the platform that introduced the customer to your brand
- Attribution by last touch: Credit the platform with the last click before purchase
- Proportional: Divide credit by relative spend contribution (not perfect, but simple)
- Incrementality testing: Run holdout tests per channel to measure true incremental lift
Incrementality testing (running a geo-holdout where one region sees no ads for a platform) is the gold standard but requires significant scale.
How Adship Helps with Cross-Platform Attribution
Adship's built-in Conversion API (CAPI) integration sends server-side events to Meta automatically — without requiring a separate developer setup. This gives your Meta attribution data a more complete signal, especially for:
- iOS users who opted out of App Tracking Transparency
- Users with ad blockers or Safari ITP
- Conversions that happen hours or days after the initial click (where cookies have expired)
With Adship, you manage Meta and TikTok campaigns from a unified dashboard and get CAPI-backed attribution from day one — reducing the gap between what platforms report and what actually happened.
Start Running More Effective Ads with Adship
Adship lets you create, manage, and optimize Meta and TikTok ads in bulk — with ad analytics built in for accurate cross-platform attribution. Start your free 7-day trial
Meet the AI Ad Operating System
Scan, spy, create, and launch Meta and TikTok ads with guarded actions taken with your approval.
Start FreeRecommended Resources
Related Articles
View allFacebook Ads Agency: What It Costs, What You Get, and the Agent Alternative (2026)
What Facebook ads agencies actually charge, sourced from real agency pricing pages, what each tier includes, and when a self-serve agent beats a monthly retainer.
Facebook Ads for Agencies: How to Manage Client Campaigns (2026)
Learn how to run Facebook Ads for clients in 2026, account structure, access management, reporting, and tools agencies use to manage multiple accounts without burning out.
Facebook Ads CPC Benchmarks by Industry (2026 Data)
The average Facebook Ads CPC is $0.94, but your industry changes everything. Here are 2026 CPC benchmarks by industry, plus what drives costs and how to lower them.