Blog
Conversion API and pixel news
What changed in vendor conversion APIs, pixels, and the measurement stack, and what each change means for the people who ship the payload. Reference material lives in the docs; this is the timely layer on top. RSS feed.
ChatGPT ads have a conversion API. Copying Meta CAPI is how the purchase never attributes.
OpenAI Ads posts conversions to bzr.openai.com with timestamp_ms, type, and oppref. A Graph CAPI body on that host is a miss that still looks live.
Reddit v3, Snap v3, and OpenAI CAPI landed in one year. One shared worker failed all three.
Reddit event_at milliseconds and UPPER_SNAKE, Snap v3 path and PURCHASE, OpenAI timestamp_ms and order_created. Stacks that still emit Graph JSON keep their 200s. Attribution does not.
LiveRamp ATS Mobile SDK sunsets September 30, 2026. The envelope moves to the ATS API.
LiveRamp's ATS Mobile SDK is deprecated and fully sunsets September 30, 2026. In-app authenticated traffic that still calls the SDK after that date will not mint RampID envelopes. Web ATS and the API remain.
Google tag gateway did not replace the conversion linker. gclid still dies on the thank-you host.
Google tag gateway serves the tag from your domain. It does not copy gclid onto a hosted checkout host. Conversion linker still writes the first-party cookie. Enhanced conversions hashed email is a match key, not a substitute.
Microsoft published UET CAPI docs. Access is still a per-account pilot.
capi.uet.microsoft.com is documented with data[], eventId, and msclkid. Microsoft's own help page still says not every account has CAPI. A 200 is not enrollment.
AppsFlyer S2S eventTime is a UTC string. A Meta epoch is how the subscription never attributes.
AppsFlyer S2S posts to api3.appsflyer.com with eventTime as yyyy-mm-dd hh:mm:ss.sss UTC. A Meta epoch on that path can 200 and still never record the renewal.
Meta CAPI Gateway only forwards the Pixel. Signals Gateway is the hub. Mixing them is a silent Meta-only pipe.
Conversions API Gateway is Pixel-in, Meta CAPI-out on your cloud. Signals Gateway adds pipelines, BigQuery, and custom HTTPS. A Gateway that only talks to Meta is not a multi-vendor CAPI.
Safari still blocks third-party cookies. Chrome keeping them did not unbreak Safari purchases.
Chrome's April 2025 choice to keep third-party cookies did not change WebKit ITP. A Meta pixel that only looks healthy in Chrome still misses Safari checkout.
AdAttributionKit re-engagement has no runner-up postbacks. SKAN 2 mappings do not apply.
AdAttributionKit re-engagement is click-only and sends no did-win false copies. Conversion tags on iOS 18.4 are not a SKAN 2 campaign-id. SKAN mappings do not describe that conversion.
SKAN 4 still has one fine conversion value, and it is only the first postback.
SKAdNetwork 4 added three windows and coarse low, medium, high. Fine 0-63 only arrives on postback 1 when crowd anonymity allows. Windows 2 and 3 are coarse.
Nextdoor CAPI wants event_time_epoch in seconds. pixel_id is deprecated. data_source_id is the pixel.
Nextdoor CAPI posts event_time_epoch in Unix seconds and data_source_id as the pixel. A Meta body with pixel_id and ISO event_time is a miss that still looks live.
Google merged enhanced conversions for web and leads. The April 2026 switch is one on/off.
Starting April 2026 Google Ads accepts user-provided data from website tags, Data Manager, and API together. Hash email, phone, names, and street. Leave city, region, postal, and country raw.
GA4 Measurement Protocol is microseconds. Pasting it into Meta CAPI is 1970.
GA4 mp/collect wants timestamp_micros, about 16 digits, 72-hour backdate. Meta event_time is seconds. LinkedIn is milliseconds. OpenAI is timestamp_ms. Date.now() cannot feed all four.
X Conversion API event_id is the Ads Manager UUID. conversion_id is the dedup key.
On X, event_id is the conversion event created in Ads Manager, not your order id. Dedup with the pixel uses conversion_id. OAuth 1.0a. Need twclid, hashed email, or hashed phone.
TCF v2.3 made disclosedVendors mandatory. A v2.2 string after March 1 is invalid on new consents.
IAB Europe released TCF v2.3 on 19 June 2025. After 28 February 2026, new TC strings without disclosedVendors are invalid. Old strings stay until the user renews. tcfPolicyVersion stays 5.
Taboola lands tblci. The postback wants click-id. The hyphen is the conversion.
Landing pages receive tblci. Taboola S2S GET and bulk JSON require click-id with a hyphen. Sending tblci to trc.taboola.com records nothing. Bulk POST still returns 204.
Yahoo DSP CAPI takes eventTs in seconds or milliseconds. LINE Yahoo truncates 13 digits.
Yahoo Inc DSP posts eventTs as 10 or 13 digits to batch.datax.yahoo.com. LY Corporation Conversion API treats 13-digit event_time as seconds by dropping the last three digits. One worker cannot serve both stacks.
UID2 inside a LiveRamp envelope still wants SHA-256. MD5 is how the token never appears.
Publishers on LiveRamp ATS mint a UID2 beside RampID only with Interoperable IDs on, SHA-256 hashing, and Prebid storage.refreshInSeconds at 1800. Bidstream sharing is tokens, never raw UID2s.
CHIPS survived the Privacy Sandbox cull. Unpartitioned iframe cookies did not.
Cookies Having Independent Partitioned State remain supported after Topics and ARA died. A third-party pixel iframe that sets SameSite=None without Partitioned is a cookie the top-level site cannot share. CHIPS is not CAPI.
Chrome bounce tracking still wipes redirect pixels. Third-party cookies staying did not save the bounce hop.
Bounce tracking mitigations stay on Chrome's supported list after Privacy Sandbox ads APIs died. When third-party cookies are blocked, Chrome deletes state on bounce sites with no 45-day interaction.
TikTok Events API 2.0 is one endpoint. Web, app, offline, and CRM are event_source, not three hosts.
Events API 2.0 posts to open_api/v1.3/event/track with event_source web, app, offline, or crm. App via 2.0 is allowlist. Dedup is event_id plus event. Unix seconds on the server; ISO on the old pixel path.
Pinterest CAPI wants checkout, lowercase. Purchase is a custom event that never trains.
Pinterest standard event_name values are add_to_cart, checkout, lead, page_visit, signup. event_time is Unix seconds. action_source is web, not website. A Meta Purchase body on api.pinterest.com is how ROAS never moves.
Google retired Attribution Reporting. Chrome cookies stayed. The replacement stack is gone.
On October 17, 2025 Google retired Topics, Protected Audience, Attribution Reporting, and the rest of the low-adoption Privacy Sandbox ads stack. CHIPS, bounce tracking mitigations, FedCM, and UA-CH continue. ARA-only measurement has no Chrome API left.
CM360 started reading GPP National v2. A US Privacy 1YNN string is not that hop.
From September 2025 Campaign Manager 360 supports GPP National v2 and still v1. TCF strings stuffed into gpp are rejected. Pixel URLs still need gpp and gpp_sid. us_privacy is a different signal.
Google tag gateway is not server-side GTM. First-party mode was renamed, not replaced.
First-party mode is now Google tag gateway for advertisers: a CDN or load balancer serving gtag from your domain. It does not enrich, consent-gate, or fan out to Meta. Complementary to sGTM, not a swap.
Google cut EEA conversion tracking for Consent Mode misses. A CMP banner is not ad_user_data.
From July 21, 2025 Google began disabling personalized ads, remarketing, and conversion tracking on EEA properties that failed the EU User Consent Policy after notice. Consent Mode v2 needs four signals, not a banner screenshot.
LinkedIn conversionHappenedAt is milliseconds. A ten-digit Meta clock fails the 90-day check.
LinkedIn conversionHappenedAt is epoch milliseconds within the past 90 days. Copying Meta event_time in seconds reads as 1970 and returns INVALID_CONVERSION_TIME_FIELD_VALUE. If your source is seconds, append 000.
Reddit CAPI v3 made event_at milliseconds. A Meta-second clock is a silent miss.
Reddit CAPI v3 stores event_at as integer Unix milliseconds on POST /api/v3/pixels/{PIXEL_ID}/conversion_events. A ten-digit Meta event_time lands in 1970. tracking_type is UPPER_SNAKE. test_mode is gone.
Meta put Event Match Quality on an API. The Events Manager tile is not the only score.
As of May 28, 2025 the Dataset Quality API exposes EMQ diagnostics, coverage, dedup, and freshness. April 2026 added event spend and ad-set breakdowns. A 200 from graph.facebook.com events is still not a match.
Chrome kept third-party cookies. The cookieless Chrome plan is the miss.
On April 22, 2025 Chrome said it will not roll out a new standalone third-party cookie prompt. Safari, Firefox, and Incognito still block them. Pausing CAPI for Chrome 3PCD is optimizing on a browser that did not flip.
Snap CAPI v2 is gone. The v3 path is tr.snapchat.com/v3/{id}/events.
Snap deprecated Conversions API v2 in early 2025. Posting the old conversion body to /v2/conversion is how Snap never sees the purchase. v3 wants data[] with event_name in SCREAMING_SNAKE, event_time, and event_source_url on web.