In this guide
- Omnichannel ads aim to drive online and in-store sales from the same campaigns.
- They need your catalogue, online events and offline (store) events sent through the Conversions API.
- Matching depends on customer data captured at the till.
Retailers with shops and a website want one view of customers and one set of ads that serves both. Meta has been developing campaign types that optimise across online and in-store results, which depend on you sending store sales back to Meta. Product names and availability change, so check Meta's documentation. This page explains the data work behind it. See Meta offline conversions, Facebook custom audiences and Meta omnichannel ads playbook.
What you need
| Piece | Why |
|---|---|
| A product catalogue | Ads show products from the catalogue, with IDs that match your events |
| Online events | View content, add to cart, purchase from the pixel and Conversions API |
| Store events | Purchases in shops sent as offline events with the right action_source |
| Customer matching data | Hashed e-mail and phone captured at checkout or loyalty sign-up |
| Store information | Locations, so ads can point to nearby stores |
Ask Ari instead of digging through reports
Ari reads your tracking and ad data and answers in plain words.
Send store sales
Capture customer identifiers at the till
E-mail or phone, with consent, through a loyalty programme or receipts.
Export or stream sales
From the point-of-sale system, with order ID, time, amount and product IDs.
Hash and normalise
E-mail and phone, SHA-256.
Send to the Conversions API
Event Purchase with action_source for physical store, the same dataset as online events.
Deduplicate
Use stable IDs so a sale is not counted twice online and in store.
Check match rate
In Events Manager.
A tagging server can receive the point-of-sale data through a webhook or file, and forward it with the same logic as online events. See webhook servers.
Matching is the hard part
- Many store customers give no e-mail or phone. Loyalty programmes help.
- Match rates for offline events are usually lower than online.
- Consent must be recorded at the till.
Connected in minutes
Add your domain, install the pixel, connect your ad platforms and watch the first events land.
Measure
- Compare store sales attributed to ads with a holdout or regional test where possible. See conversion lift studies.
- Compare Meta's numbers with your point-of-sale totals.
- Judge by profit, including store margins. See profit on ad spend.
A realistic example
A homeware retailer with forty shops and a web store starts sending in-store purchases to Meta. Only a quarter of shop customers give an e-mail address, so the offline match rate is modest. The retailer starts offering e-receipts and a simple loyalty sign-up with a clear consent line, and within a few months the share of sales with customer data rises. It compares sales in regions with the campaign to similar regions without it, and finds that online sales rose as expected and in-store sales in the test regions rose too, by a smaller amount. The test showed that the campaign helped both channels, and gave the retailer a number to use when planning budgets. The data work took longer than the campaign work, and it was the part that made the result believable.
Orders from your store, back to the ad that earned them
Your store sends the order once. Open Tracked passes it on to each ad platform, cleaned and deduplicated.
Frequently asked questions
What are Meta omnichannel ads?
Campaigns that aim to drive both online and in-store sales, using your catalogue and offline events.
What data do I need?
A catalogue, online events, store sales with customer matching data and store information.
How do I send store sales to Meta?
Through the Conversions API with an offline action source, in the same dataset as online events.
Why are offline match rates low?
Many in-store customers give no e-mail or phone. Loyalty programmes help.
How do I know the ads work?
Use holdout or regional tests and compare with point-of-sale totals.
Do I need spreadsheets to read my results?
No. Once tracking is live, the Open Tracked analytics shows spend, revenue, ROAS and profit, and you can ask Ari, the built-in AI assistant, questions about your own numbers in plain words. Ari's allowance depends on your analytics plan.
Is Open Tracked different from Open Track or Open Space Track?
No. Open Tracked is the official name of our server-side tracking platform, and the website is opentracked.io. Many people search for it as Open Track, OpenTrack or Open Space Track. All of them lead to the same product: server-side Google Tag Manager hosting, first-party analytics and a CRM pipeline.

Fix your tracking at the source
Open Tracked hosts your server-side Tag Manager, keeps first-party cookies alive and shows what each ad is really worth.
The Open Tracked team
We build Open Tracked: server-side tracking hosting, analytics and the tools around them, for stores that spend on ads. Questions about this guide, or an idea for the next one?
Comments
Loading comments...