The background on PixelRelay's Meta connection: what it sends, how Meta matches it to people, and how it avoids counting a sale twice. For the setup steps, see Connect Meta.
What gets sent
| Shopify activity | Meta event | Sent from |
|---|---|---|
| Page viewed | PageView | PixelRelay's Meta pixel in the browser |
| Product viewed, cart viewed | ViewContent | Browser and our servers |
| Added to cart | AddToCart | Browser and our servers |
| Searched | Search | Browser and our servers |
| Checkout started | InitiateCheckout | Our servers |
| Payment info submitted | AddPaymentInfo | Our servers |
| Order paid | Purchase | Our servers only |
- Purchase value uses the amount and currency the shopper actually paid in, so it lines up with what browser pixels report.
- Recharge renewals go to Meta as
Purchaseonce you connect Recharge, unless you switch Meta off under its renewal settings. - Meta gets every purchase, whatever you pick in Settings → Attribution.
Browser and server together
By default Meta is on PixelRelay — browser + server (recommended) in Settings → Relay → Who tracks each network?. The PixelRelay Pixel app embed runs a Meta pixel on your storefront, and our servers send the same events through the Conversions API. Both copies carry the same event ID, so Meta keeps one.
Purchases show as Server only in Events Manager. PixelRelay's pixel can't run on Shopify's thank-you page, so purchases come from your order data on our servers.
Matching customers
To tie an event to a Meta user, PixelRelay sends what it has:
- Email, phone, first and last name, city, state, zip and country, all hashed before they leave our servers
- A hashed customer ID
- Meta's browser cookies (
fbp, andfbcwhen the shopper came from an ad) - The shopper's IP address and browser
When a shopper declines ad data in your consent banner, PixelRelay leaves out their personal details and ad cookies. See Privacy & consent.
A checkout event with no way to identify the shopper at all (no email, phone, cookie, or IP and browser) isn't sent, because Meta rejects it. That's usually an anonymous checkout someone abandoned early.
Counting each sale once
- PixelRelay's own copies (browser + server) share an event ID, so Meta merges them.
- Other senders make up their own event IDs. The Facebook & Instagram app, GTM tags and theme code can never match PixelRelay's, so Meta counts their purchase and ours as two sales. That's why you turn off the old tracking.
- Diagnostics warnings like Fix mismatched price and currency information for website Purchase events or Improve your rate of Meta Pixel events covered by Conversions API usually mean another source still sends to the dataset. Meta looks back 7 days, so they take about a week to clear.
Timing
Events usually show in Events Manager within a few minutes. Make sure the date range includes today. Meta accepting an event doesn't mean it's credited to an ad. That part is up to Meta.
Test event code
Test Event Code is optional and only for troubleshooting with Meta's Test events tab after Meta is on. Guided setup won't turn Meta on while one is saved. Meta says test events still count in your data, so don't leave it there.
To clear it: Connections → Meta Pixel → Edit, tick Clear the saved test event code and resume live Meta events, then Save.
Your access token
PixelRelay stores the token encrypted and never shows it again. It only uses it to send your store's events to that dataset. Meta only shows a token once, so if you need to paste it again later, generate a new one in the dataset's Settings → Conversions API.
Troubleshooting
| What you see | What to do |
|---|---|
| Pixel ID must be numeric | Paste the Dataset ID (just the number), not the dataset name. |
| No Generate access token link | You need admin or developer access on the Meta business. Ask whoever runs it to generate the token. |
| Test mode on the Meta Pixel card | Edit, tick Clear the saved test event code and resume live Meta events, Save. |
| Meta shows far more purchases than Shopify | Something else still sends to the dataset. Go back through Turn off old Meta tracking. |
| An event failed in Reports → Event log | Open it to see Meta's error message. |
| Checkout events skipped | The shopper couldn't be identified (see Matching customers). Purchases still go through. |
| Nothing in Events Manager | Check the date range includes today, and that Guided setup says Meta tracking is on. |
Disconnect
Connections → Meta Pixel → Disconnect stops PixelRelay sending to Meta right away. To reconnect later, you paste the Dataset ID and an access token again.
Turn your old tracking back on if you disconnect (switch back), or Meta stops getting events.
Questions
Do I need to sign in with Facebook? No. Meta connects with the Dataset ID and access token only.
Do I have to uninstall the Facebook & Instagram app? No. Just turn off its data sharing if it sends to the same dataset. Keep it for your catalog, shop and ads. See Facebook & Instagram app.
Can I use a different dataset from the app? Yes. If the app sends to a different dataset from PixelRelay, the two don't double each other, but your campaigns should optimize on one of them.
Related
Need help? Email [email protected]