Conversion APIs for Lead Generation: Meta, Google, TikTok and LinkedIn Compared
CTO, lead-metrics.com
If you generate leads across several ad platforms, you know the problem: Meta, Google, TikTok and LinkedIn all want to know which clicks led to good leads and customers. All four offer a server-side interface for this. But each one has a different name, expects different data and has different time limits.
This article compares the conversion APIs of the four platforms from a lead generation perspective: which data they need for matching, which events exist for leads and qualified leads, how long you can send deals after the fact and what changed in 2025 and 2026. As of October 2026.
Key points
- All four platforms accept conversions server-side: Meta through the Conversions API, Google through the Data Manager API, TikTok through the Events API and LinkedIn through the Conversions API.
- The common denominator is the hashed email address (SHA-256). Each platform adds its own click ID: fbclid or
fbc, gclid, ttclid and li_fat_id. - Qualified leads are now supported everywhere: Meta through CRM stages for Conversion Leads, Google through the "qualified lead" and "converted lead" goals, TikTok through CRM events in four funnel stages, LinkedIn through dedicated types like
QUALIFIED_LEAD. - Time limits differ a lot: Meta only accepts website events up to 7 days back, Google up to 90 days after the click, LinkedIn up to 90 days after the conversion.
- Deduplication is required everywhere when the browser tag and the server send the same event, but it works differently on each platform.
The four interfaces at a glance
| Meta | Google Ads | TikTok | ||
|---|---|---|---|---|
| Interface | Conversions API | Data Manager API | Events API 2.0 | Conversions API |
| Customer data (hashed) | email, phone, name, address and more | email, phone, name, address | email, phone, external ID | email (hashed), name, company, job title |
| Click ID | fbc (from fbclid), fbp | gclid, gbraid, wbraid | ttclid, _ttp | li_fat_id |
| ID from lead form | Meta lead ID | - | lead ID | Lead Gen Form response |
| Lead events | Lead, CRM stages | your own conversion actions | Lead, CRM events | LEAD, QUALIFIED_LEAD, MQL, SQL and more |
| Sending late | 7 days | 90 days after click (63 days without gclid) | no official figure found | 90 days |
| Value and currency | yes | yes | yes (documented for purchase events) | yes |
Sources: Meta for Developers, Google Data Manager API, Google Ads Help, TikTok Business Help, LinkedIn Conversions API.
Meta: Conversions API
Meta's Conversions API is the best known of the four and the entry point to server-side tracking for many advertisers. For matching, Meta uses hashed customer data such as email, phone and name, plus the click ID fbc (built from the fbclid), the browser ID fbp, IP address and user agent. Meta shows how well matching works as Event Match Quality. Which data to send for this is covered in the guide improve Meta Event Match Quality.
Two points matter for lead generation:
- Short time limit:
event_timecan be at most 7 days in the past. According to Meta, if one event in a batch is older, the whole request fails. So you need to send deals from your CRM promptly, not once a month. - Separate format for Instant Forms: If you collect leads through Instant Forms and want to optimize for qualified leads, you send CRM stages in the Conversion Leads format, with the Meta lead ID,
action_source: system_generatedandevent_source: crm(Meta for Developers). What's behind it and which requirements apply is covered in the article on low-quality leads from Meta Ads.
Deduplication: If the Pixel and the server send the same event, Meta detects duplicates by event name and event_id within 48 hours.
Google Ads: Data Manager API
Google changed the most in 2026. Since June 15, 2026, the Google Ads API no longer accepts new integrations for offline conversions and enhanced conversions for leads. New connections go through the Data Manager API (Google Ads Help). The details of the switch are in the article on the Google Data Manager API.
For leads there are two paths you can combine:
- Click ID: The gclid (or gbraid and wbraid for iOS traffic) is stored with the lead and sent back with the deal. Time limit: 90 days after the click.
- Enhanced conversions for leads: Instead of or in addition to the gclid, you send a hashed email, phone number or name and address to Google. Time limit: 63 days (Google Ads Help).
For offline lead imports, Google recommends the "qualified lead" and "converted lead" goals and uploading at least once a day. With values per conversion, bid strategies like target ROAS or value-based bidding become possible.
Deduplication: On Google, the website tag and the offline import are usually separate conversion actions. Within the Data Manager API, the transactionId is used to detect duplicate uploads.
TikTok: Events API 2.0
TikTok bundles web, app, offline and CRM events in the Events API 2.0. For matching, TikTok uses hashed email, phone number (in E.164 format) and external ID, plus the ttclid from the ad URL and the Pixel cookie _ttp.
Two changes matter for lead generation:
- New event names: Since May 1, 2025, the standard event
SubmitFormis calledLead. The old name still works and is converted automatically. New events includeSubmitApplicationandApplicationApproval(TikTok Business Help). - CRM events for lead campaigns: For leads from TikTok Instant Forms, you send CRM statuses back with the TikTok lead ID and map them to four funnel stages in Events Manager (TikTok Business Help). There is no dedicated standard event for qualified leads.
Deduplication: Through event_id within 48 hours. Without event_id, TikTok only merges Pixel and server events that arrive within 5 minutes of each other.
Open question: We did not find an official time limit for how far back TikTok accepts events. So send deals promptly here, too.
LinkedIn: Conversions API
For B2B, LinkedIn is often the most important platform, and its Conversions API evolved a lot in 2025 and 2026. LinkedIn accepts hashed email addresses, the li_fat_id, IP addresses and names, optionally plus company and job title. For leads from LinkedIn Lead Gen Forms, the form response ID alone has been enough since version 202605.
What matters for lead generation:
- Dedicated types for lead quality: Besides
LEADthere isQUALIFIED_LEAD, and since version 202608 alsoMARKETING_QUALIFIED_LEADandSALES_QUALIFIED_LEAD. Since version 202602, LinkedIn can optimize for qualified leads if this data comes in through the Conversions API or the CRM (LinkedIn Recent Changes). - Long time limit: Conversions can be up to 90 days old. That fits typical B2B sales cycles.
- Personal vs. work email: Many leads sign up with a work address while their LinkedIn profile uses a personal one. The li_fat_id closes that gap.
Deduplication: If you use the Insight Tag and the Conversions API in parallel, you create one conversion rule per source and send the same eventId. LinkedIn then counts the Insight Tag event and discards the duplicate (LinkedIn deduplication).
Which stage to send to which platform?
For lead generation, sending only the form isn't enough. Platforms learn the most from stages closer to revenue. A practical split:
| CRM stage | Meta | Google Ads | TikTok | |
|---|---|---|---|---|
| Lead received | Lead | lead conversion (tag or import) | Lead | LEAD |
| Qualified / appointment | CRM stage (Instant Forms) or custom event | qualified lead | CRM event stage 2-3 | QUALIFIED_LEAD, SALES_QUALIFIED_LEAD |
| Customer / deal won | custom event or Purchase with value | converted lead with value | CRM event stage 4 | own conversion rule with value |
The time limit matters: on Meta, a deal must arrive within 7 days of its timestamp, on Google within 90 or 63 days of the click. If you collect deals and upload them at the end of the month, you lose almost everything on Meta.
Common mistakes
- Hashing without proper normalization: All four expect SHA-256, but with normalization rules, such as email in lowercase without spaces, phone with country code. One extra space produces a different hash and no match.
- Not storing click IDs: The gclid, ttclid and li_fat_id are only in the URL on the first page view. If you don't store them with the lead, you can't send them weeks later.
- Double counting without deduplication: Pixel and server report the same lead, the platform counts it twice and optimizes for inflated numbers.
- Sending too late: Monthly CSV uploads miss Meta's 7-day limit completely.
- Only sending the form: Then every platform keeps optimizing for as many leads as possible, not for good ones.
Legally, the same applies to all four: sending customer data to ad platforms needs a legal basis. Check with your data protection officer how consent management and data processing agreements are handled in your case.
How LeadMetrics helps
Building and maintaining four interfaces yourself means four data formats, four time limits and regular version changes. LeadMetrics takes that off your plate:
- One Conversion API for four platforms: The Conversion API sends leads, purchases, started trials, subscriptions and won and lost deals to Meta, Google Ads, TikTok and LinkedIn. You decide per project which LeadMetrics event becomes which platform event.
- All click IDs in one place: Lead tracking captures
fbc/fbp, gclid, ttclid and li_fat_id during the visit and links them to the lead, even if the deal comes weeks later. - Hashed and deduplicated: Email, phone and names are sent SHA-256 hashed, every event with an
event_idfor deduplication. - Deals from your CRM: Deals from HubSpot and Close and payments from Stripe, CopeCart and Digistore24 are sent to the platforms with value and currency.
- Traceable: For every lead you see a log of which events went to which platform.
This way all four platforms get the same clean signals, and you see in one report which of them actually brings customers.
Ready for better tracking?
Discover how LeadMetrics helps you understand the true ROI of your marketing channels.
Start a 10 day trialTerms in this article
Related guides
Campaign Tracking with UTMs and Click IDs: Setup Guide
Set up clean campaign tracking: a UTM naming convention, dynamic parameters in Meta and Google Ads, click IDs, common mistakes and how to test it all.
Read guideHow to Improve Meta Event Match Quality: What Data to Send
How to improve Event Match Quality in Meta: which customer data counts, how to normalize and hash it, and how fbc, fbp and event_id help your score.
Read guide