- US device IDs in the graph
- 750M+
- Match rate on events
- 90%+
- Meta event match quality
- 7.5+
- Most brands are live
- <20 min
How it flows
How a Checkout Champ event reaches the Meta Conversions API. Captured on the funnel page, resolved to a person, then sent.
01 Capture
Captured from Checkout Champ
Track Checkout Champ funnels with the Upstack Pixel, from the first page to the completed order, and send each event to your destinations resolved against the same identity graph.
See the Checkout Champ integration →
Checkout ChampWhat it sends orderId / transactionIdthe completed Checkout Champ orderemail / phoneread from the checkout formfirstName / lastNameshipping name from the formcity / country / postalCodeshipping address fieldsvaluethe order value sent with the purchase
02 Understand
Resolved to one person before it leaves
Every Checkout Champ event is matched against a 750M+ device graph, so a phone browse and a desktop checkout resolve to one customer rather than two strangers.
How resolution works →
Resolved before it is sent - IdentityMatched against a 750M+ device graph, so a phone browse and a desktop checkout resolve to one customer.
customer_typeNew or returning, resolved before send.- DeduplicationBrowser and server copies of the same purchase collapse on event ID, so nothing is counted twice.
- Bot and fraud filteringAutomated traffic never reaches the model, because what you keep out of the training set matters as much as what goes in.
03 Activate
Delivered to the Meta Conversions API
Forward deduplicated, identity-resolved conversions to Meta through the Conversions API, and give the model a customer instead of a session.
See the Meta Conversions API integration →
Meta Conversions APIWhat it receives em, ph (SHA-256)raise Event Match Qualityfbclid / _fbpcredit the click that drove itexternal_idstable person across sessionsevent_iddedupe against the browser pixelvalue / currencyvalue-based bidding
Which events reach the Meta Conversions API
Each Upstack event is mapped to the Meta Conversions API event below before it is sent.
| Upstack event | Sent to Meta Conversions API as | Key data on the event |
| Page view | PageView | URL, referrer, user agent |
| Product view | ViewContent | content_ids, content_type, value, currency |
| Add to cart | AddToCart | content_ids, value, currency |
| Checkout | InitiateCheckout | value, currency, num_items |
| Purchase | Purchase | value, currency, order_id, content_ids |
Every event carries every available match key: em, ph, fn, ln, ct, st, zp and country, plus fbc, fbp and external_id. Personal data is hashed with SHA-256 before it leaves Upstack.
Checkout Champ to Meta Conversions API, in detail
How Checkout Champ orders reach the Meta Conversions API.
Checkout Champ funnels run outside your Shopify theme, so the Upstack Pixel goes into Checkout Champ’s Global Scripts, in the head of every funnel page. It records page views, add to carts, checkouts, shipping and payment details and completed purchases, and Upstack forwards them to Meta, with the browser and Conversions API copies sharing an event_id. Checkout Champ’s own Facebook Pixel has to come out first.
| Checkout Champ event | Sent to Meta as |
| page Fires on every funnel page load. | PageView |
| add_to_cart Fires when items are added to the cart. | AddToCart |
| initiate_checkout Fires when a customer enters their email or an order begins. | InitiateCheckout |
| purchase Fires on completed, non-partial orders. | Purchase |
| Customer email and phone Hashed with SHA-256 before they leave Upstack. | em, ph |
Checkout Champ’s add_shipping_info and add_payment_info events are tracked in Upstack too.
Checkout Champ’s Facebook Pixel
Running it alongside Upstack causes duplicate events, inflated metrics and poor ad optimization. Remove or disable the Pixel ID in its Facebook Pixel settings before you add the Upstack script.
Partial orders
The purchase event fires only on completed orders. An order that is still partial is skipped until it completes.
Deduplication with event_id
With the default Browser + Server tracking method, Upstack loads the Meta Pixel and sends the same events from its servers, and both copies carry the same event ID, so Meta keeps one. Another sender on the same pixel, such as a platform’s own Meta integration, Meta’s Conversions API Gateway or a third-party CAPI app, has no matching ID, so turn it off.
The Shopify app comes first
Checkout Champ setup assumes an Upstack account with the Upstack Data app installed on your Shopify store, and uses that account’s Pixel ID, a UUID.
The catch
Checkout Champ funnels don't run the Upstack app embed, so tracking has to be added to the funnel itself: the Upstack Pixel and event scripts go into Global Scripts and load in the head of every funnel page.
The purchase fires once per order ID and skips partial orders, so a reload doesn't send an order twice.
Where to check in the Meta Conversions APIDelivery you can audit
Events Manager › your dataset › Event Match Quality
Server events appear with a Server badge, and Event Match Quality is scored per event type.
What changes
What changes when Checkout Champ feeds the Meta Conversions API. Two gains on the Meta Conversions API side, two on the Checkout Champ side.
Meta Conversions API
Higher Event Match Quality
More hashed identifiers on every event (email, phone, external ID, click ID), so EMQ rises and Meta matches more of what you send.
Meta Conversions API
Pixel and CAPI, one install
One source of truth for both, with browser and server events deduplicated on event_id so purchases are never double-counted.
Checkout Champ
Every funnel step tracked
Page views, checkout starts, add-to-carts, shipping and payment steps and completed orders fire from the funnel, so your platforms see the whole path rather than the landing page alone.
Checkout Champ
One setup, every destination
Connect Checkout Champ once and forward to every ad platform and email tool you run.
-
01
Copy your Upstack Pixel ID
With the Upstack Data app installed on your Shopify store, copy your Pixel ID, a UUID, from the header of System, Events Manager in the Upstack dashboard.
-
02
Disable Checkout Champ’s Facebook Pixel
In the Checkout Champ admin, open the Facebook Pixel settings, remove or disable the Pixel ID, and save. Do this first.
-
03
Get the full script block
The Upstack team provides the complete Checkout Champ tracking script during onboarding: the global script plus the event scripts. Insert your Pixel ID exactly as given, with no extra spaces.
-
04
Add it to Global Scripts
Paste the whole block into Global Scripts in the Checkout Champ admin, set to load in the head of every funnel page, and save.
-
05
Add the Meta destination
Under Destinations, add Facebook Advertising with your Pixel ID (a 15 or 16 digit number) and a Conversions API token generated in Events Manager, which starts with EAA. Keep the default Browser + Server tracking method.
-
06
Walk through a test checkout
Check a funnel page with the Upstack Pixel Helper, run a test checkout end to end, and confirm page, initiate_checkout and purchase arrive in Upstack’s Events Manager.
After setup
What to check in Upstack and Meta.
The Upstack Pixel Helper shows the pixel firing with your Pixel ID on a funnel page.
Upstack’s Events Manager shows page, initiate_checkout and purchase from a test checkout.
Meta Events Manager lists the events with a Server badge as well as Browser.
Event Match Quality has a score for each event type after 24 to 48 hours of real orders.
Troubleshooting
Common problems and fixes.
-
Duplicate purchases in Meta
Checkout Champ’s native Facebook Pixel is still on. Remove its Pixel ID and save.
-
No events from the funnel
The Pixel ID in the script has a typo, extra whitespace or mismatched quotes, or the block isn’t loading in the head of every funnel page.
-
A purchase didn’t arrive
The order may still be partial: purchase fires only once it completes.
-
Event Match Quality shows 0.0 out of 10
Normal for the first 24 to 48 hours and until real orders arrive. If it persists, check the Pixel ID matches and that the access token has ads_read plus ads_management or business_management.
FAQ
Questions about Checkout Champ and the Meta Conversions API.
How do I connect Checkout Champ to the Meta Conversions API?
Disable Checkout Champ’s native Facebook Pixel, paste the Upstack tracking script with your Pixel ID into Global Scripts so it loads in the head of every funnel page, then add the Facebook Advertising destination with your Pixel ID and a Conversions API token. Upstack’s team provides the full script during onboarding.
What is Event Match Quality (EMQ) and why does it matter?
EMQ is Meta’s score, from 0 to 10, for how reliably it can match a conversion event back to a Meta user. Higher EMQ gives Meta’s algorithm more signal to optimize against, and server-side delivery through CAPI typically raises it because events carry more match keys and are not blocked by browser restrictions.
Will purchases be counted twice with the Pixel and the Conversions API both running?
No. Upstack sends a shared event_id on every server-side event, and Meta deduplicates against the matching browser Pixel event. As long as the Pixel ID in Upstack matches the Pixel ID firing in your storefront, deduplication is automatic.
Which events does the Meta Conversions API receive?
PageView, ViewContent, AddToCart, InitiateCheckout and Purchase, each mapped to the Meta Conversions API event of the same name.
Which customer parameters are sent to the Meta Conversions API?
Every event carries every available match key: em, ph, fn, ln, ct, st, zp and country, plus fbc, fbp and external_id. Personal data is hashed with SHA-256 before it leaves Upstack.
How do I check that Checkout Champ events are reaching the Meta Conversions API?
Upstack marks the destination Healthy, and Events Manager lists the server events with a Server badge. Open your dataset’s Event Match Quality: it is scored per event type, and Meta takes 24 to 48 hours to score new events.
How long does it take to connect Checkout Champ to the Meta Conversions API?
Most brands are live in under 20 minutes. Once Checkout Champ events reach Upstack, every destination receives the same resolved events, the Meta Conversions API included.
Do I need to turn off Checkout Champ’s Facebook Pixel?
Yes, before you add the Upstack scripts. Running both causes duplicate event tracking, which inflates metrics and hurts ad optimization.
Which Checkout Champ events does Upstack track?
page, add_to_cart, initiate_checkout, add_shipping_info, add_payment_info and purchase, which fires on completed, non-partial orders.
Why didn’t a Checkout Champ purchase reach Meta?
Check the order completed: purchase fires only on non-partial orders. Then check the script loads on that funnel page with your Pixel ID, using the Pixel Helper.
Keep reading
More on Checkout Champ and the Meta Conversions API.