On 12 January 2026, Meta deprecated the 7-day view and 28-day view attribution windows. The change applied across Facebook, Instagram and Audience Network. Overnight, reported conversions dropped 15 to 30 percent for most advertisers. The performance had not changed. The measurement had. For advertisers still running on browser pixel tracking alone, the gap between reported and actual conversions widened to between 50 and 70 percent (Triple Whale, March 2026 industry data).
Conversions API is no longer optional in 2026. It is the baseline. This guide covers what Meta Conversions API actually does, how to set it up properly, how to hit Event Match Quality scores above 8.0, and how to verify the implementation is working.
What Conversions API actually does
The Meta browser pixel fires from a user’s browser when they take an action on your site. Apple’s Intelligent Tracking Prevention blocks third-party cookies, ad blockers strip the pixel before it loads, and around 30 to 40 percent of pixel events never reach Meta’s servers in 2026.
Conversions API (CAPI) sends events server-to-server. Your server receives the conversion event from the user’s browser (page view, purchase, lead form submission). Your server then sends that event directly to Meta’s servers along with any user data you have available (email, phone, name, address) which Meta uses to match the event to a known user.
CAPI does not replace the pixel. It complements it. The pixel still fires from the browser. CAPI sends the same event from your server. Meta deduplicates the events using an event ID you generate. Meta gets fuller data because either source can fail, and CAPI fills gaps where the pixel was blocked.
Setup options ranked by effectiveness
Three main setup paths exist, from simplest to most powerful:
Native platform integration. Shopify, WooCommerce, BigCommerce and Wix have built-in Conversions API connectors. Setup takes 10 minutes. Match quality is mediocre (typically 5.5 to 6.5) because the platform sends limited customer data. Use this if you have no developer time and no data team. It is better than nothing.
Google Tag Manager server-side container. Set up a server-side GTM container hosted on your own subdomain (typically gtm.yourdomain.com). The Meta CAPI tag in the server container catches pixel events that fired in the browser and forwards them server-side with enrichment. Match quality typically lands at 7.5 to 8.5. This is the path most agencies use.
Direct server-to-server integration. Your application server sends events directly to Meta’s Conversions API endpoint using the Marketing API. Custom code, fully controlled, highest match quality (8.5 to 9.5 possible). Used by larger ecommerce and B2B brands with development resources.
Event Match Quality explained
Meta provides an Event Match Quality (EMQ) score per event type in Events Manager. The score runs from 0 to 10. Higher is better. The score reflects how well your CAPI events can be matched to a known Meta user.
EMQ above 7.0 is acceptable. Above 8.0 is good. Above 9.0 is excellent. The score is driven by which user parameters you send with each event. Email, phone number and Facebook external ID (fbp, fbc) are the highest-weighted parameters. First name, last name, date of birth and zip code add incremental lift.
Hash all PII before sending. Meta requires SHA-256 hashing on email, phone, names and date of birth. Most tag managers and platforms handle this automatically, but verify in your event payload that hashed values look like 64-character hex strings.
Server-side GTM setup walkthrough
The most common setup path. Steps:
Create a server-side container in Google Tag Manager. Set the deployment to Google Cloud Run (Google’s hosted option) or self-host on AWS, GCP or Azure. Google Cloud Run costs around 40 to 120 dollars per month depending on traffic volume.
Configure a custom hostname like gtm.yourdomain.com. This requires a DNS A record pointing to your Cloud Run service. The custom hostname is critical because it makes the requests first-party, bypassing third-party cookie blocking.
Set up a Meta Conversions API tag in the server container. The tag listens for events from the client-side container (page views, purchases, leads) and forwards them to Meta with enriched parameters. Add the fbp and fbc cookies as parameters. Add email and phone as User Provided Data parameters where available (typically from checkout, lead forms, or logged-in user sessions).
Generate an event_id per event in the client-side container. Pass the same event_id to both the browser pixel and the CAPI tag. Meta uses event_id for deduplication. Without it, you double-count conversions.
Validate using Meta’s Test Events tool. Send 10 test purchase events, confirm they appear in Events Manager, and verify EMQ scores update correctly.
Common implementation problems
Event deduplication failure. The pixel and CAPI fire with different event_ids, so Meta counts both as separate conversions. Symptom: reported conversions roughly double after CAPI launch. Fix: ensure the same event_id is used by both the client pixel and the server CAPI call. Most server-side GTM templates handle this automatically when configured correctly.
Missing fbp cookie. The _fbp cookie identifies a Meta user across sessions on your site. If your server-side container is not capturing it, match quality drops sharply. Symptom: EMQ scores below 6.0 despite sending email and phone. Fix: configure the server container to read the _fbp cookie from the inbound request and pass it as fbp in the CAPI event.
Sending unhashed PII. Meta rejects events with unhashed email or phone for compliance. Symptom: events appear in Events Manager but show low or zero match. Fix: confirm hashing happens in the server container, not the browser. Hash with SHA-256, lowercase first.
Test mode not switched off. Test Events tool requires a test_event_code parameter. If your production tag still has the test_event_code set, events get sent to test mode and never count toward real ad optimisation. Symptom: events visible in Test Events tab but not Overview. Fix: remove test_event_code from production tag configuration.
Advanced setups for B2B SaaS
For B2B brands with long sales cycles, the conversion event that matters is rarely the form fill. It is the qualified opportunity created in the CRM days or weeks later. Send these CRM-stage events to Meta through CAPI for true bottom-of-funnel optimisation.
Setup pattern: HubSpot or Salesforce webhook fires when a deal moves to a target stage. Webhook hits your server. Your server constructs a CAPI event with the original lead’s hashed email (matched back through your CRM record), an event name like Lead_Qualified or Opportunity_Created, the deal value, and the original click ID (fbc cookie captured at lead creation).
Now Meta’s algorithm optimises toward qualified opportunities, not form fills. We have seen this single change improve B2B campaign performance by 35 to 60 percent on cost per opportunity within 8 weeks of implementation.
Reporting in the new attribution reality
With 7-day view and 28-day view gone, the default attribution window is 7-day click 1-day view. Conversions reported in Meta now reflect only that window. View-through conversions that happened 2 weeks later are no longer counted.
This makes incrementality testing more important. Run geo holdouts where Meta spend stops in 10 to 20 percent of geos for 30 days. Compare conversion lift in spend-on vs spend-off geos. The lift is your true Meta contribution, separate from attribution model artefacts.
For brands spending over 50,000 dollars monthly, marketing mix modelling through Recast or Lifesight gives a higher-confidence Meta attribution number that reconciles platform reporting with actual revenue.
What to expect
Properly set up Conversions API recovers between 15 and 35 percent of lost conversion data. Match quality above 8.0 unlocks Meta’s modelled conversions, which estimate the unobservable conversions and account for another 20 to 35 percent of reported results in 2026 (per Meta’s published estimates). The combination of CAPI plus modelled conversions closes most of the gap that opened after iOS 14.5.
If your CAPI implementation is older than 18 months, audit it. Match quality drifts as you change the site, change your forms, or move platforms. We typically see EMQ scores degrade by 1.5 to 2 points over 12 months without active maintenance.
