Why cross-device sales go missing from Meta ads reports, how Meta matches events to people, and how the Conversions API and Event Match Quality recover them.
Cross-device tracking is the work of tying actions on different devices back to one person, so a purchase on a laptop can be credited to the ad that person saw on a phone. When it fails, the ad view and the sale look like two separate people, and Meta's numbers fall short of your real results.
For Meta ads, you cannot control how devices are linked, but you can control the data you send. Sending conversions from your server, with strong customer information attached, gives Meta the best chance of matching a sale to the person who saw the ad. This guide explains where the gaps appear and how to close them.
Send conversions from the server and check Event Match Quality in chat.
What cross-device tracking means for ad data
A typical journey today crosses more than one screen. Someone sees your ad in the Instagram feed on a phone, forgets about it, and later searches for your brand on a laptop and buys. If the two sessions cannot be connected, the purchase has no ad attached to it.
The effect on your reporting is concrete:
- Ads Manager reports fewer conversions than your store recorded.
- Cost per result looks higher than it really is.
- Upper-funnel ads that start journeys look weaker than they are, because the sale lands on another device.
- Optimization has fewer signals to learn from, because Meta only learns from conversions it can see.
The gap is not a sign that the ads failed. It is a measurement gap, and part of it is recoverable.
How Meta matches events to people
Meta does not need you to track the person across devices yourself. It needs each conversion event to arrive with enough information to match it to a Meta account. Meta's best practices for the Conversions API define event match quality as an indicator of how effectively customer information parameters match events with a Meta account.
That has a practical meaning for the cross-device case. A purchase on a laptop can still be matched to the person who saw the ad on a phone if the purchase event carries customer information that Meta can tie to that person's account. The more of those parameters an event includes, the more likely the match: Meta says more events with customer information parameters increase the likelihood of a match.
The parameters are set up in Meta Events Manager, where Meta lists which ones to include and gives each a general priority.
Where conversions get lost
When an event arrives with too little to match, or does not arrive at all, a cross-device sale falls out of your Meta numbers. The common places:
| Where the loss happens | What goes wrong | What helps |
|---|---|---|
| Browser-only events | The sale is reported only if the browser sends it | Send the same event from your server as well |
| Thin customer information | The event has too little to match to a Meta account | Add customer information parameters to each event |
| Double reporting | Browser and server both send the sale and it is counted twice | Deduplicate the events |
| Late events | Events arrive long after the action | Send events in real time, or close to it |
| Sales off the website | Phone, CRM and offline orders never touch the pixel | Send offline and CRM events through the API |
Server-side tracking and the Conversions API
Meta's Conversions API documentation describes a connection between an advertiser's marketing data and Meta systems that optimize targeting, lower cost per result and measure outcomes. The data can come from your server, website platform, mobile app or CRM, and cover website, app, business messaging and offline events.
That helps with cross-device sales for two reasons. First, the sale is reported by your own system, so it does not depend on which device or browser the buyer used. Second, your system usually holds richer customer details, such as the email on the order, than the browser does at the time of the click. Our Conversions API glossary entry gives the short definition.
Server events are linked to a dataset ID and are processed like events sent with the Meta Pixel. One connection can carry several event types, which cuts the number of separate integrations you maintain. If you have a Meta Pixel on your website, you can set up the Conversions API for website events in one click from Events Manager, with no code, configuration or setup fees.
The recommended path has three steps: choose an integration method, start sending requests, and verify the setup.
Improving Event Match Quality
Event match quality is where cross-device recovery is won or lost. Our entry on Event Match Quality explains the score. To raise it, follow Meta's guidance:
- Include customer information parameters on every event you can, and prioritize the ones Meta says are most likely to improve the match.
- Use the pixel and the API together, sharing the same events through both.
- Deduplicate the redundant events from browser and server.
- Aim for a 75% event coverage ratio of Conversions API events to Meta Pixel events.
- Send events in real time, or as close to real time as you can.
- Get consent. Meta says you must have lawful permissions and the necessary consents before you share customer information with third parties.
Better event match quality can increase the additional conversions reported. You can watch the effect in Events Manager: Meta says the trendline for additional conversions shows the conversion rate impact of data quality changes over time.
How to check your setup
Work through this list after any change, and again each month:
- Confirm Meta has received your server events and that they are deduplicated and matched. This is the verify step in Meta's own setup.
- Check event match quality for your purchase event, and note which parameters are missing.
- Compare the number of server events with pixel events against the 75% coverage ratio.
- Look at the additional conversions trendline after each change, to see whether it moved.
- Compare Ads Manager purchases with your store's order count over the same dates, with the same attribution setting.
If you run Madgicx, you can ask Copilot in chat to check your dataset quality and Event Match Quality, rather than opening each screen.
What to expect after fixing it
Set expectations before you start. Fixing your data does not make ads perform better by itself. It shows more of what they already did, and gives Meta more conversions to learn from.
- Reported conversions usually rise, and cost per result usually falls, because the same spend now has more credited sales.
- Compare periods carefully. A jump after a setup change is a change in measurement, so note the date next to your charts.
- The gap to your store's total will narrow but not close. Some sales come from channels that never touched an ad.
Keep the same attribution setting across the comparison.
Close cross-device gaps with Madgicx
Madgicx Cloud Tracking hosts Meta's Conversions API Gateway and Signals Gateway for you and sends conversions to Meta from the server, so Meta sees and attributes more of them. It is available on its own, or as Tracking Pro inside a Madgicx plan. Then Copilot checks your Event Match Quality in chat, so you can see whether the fix worked.
FAQ
What is cross-device tracking in Meta ads?
It is connecting an ad view on one device with a conversion on another, so the sale is credited to the right ad. Without it, the sale shows as unrelated to the ad.
Why does Meta under-report my sales?
Meta can only credit conversions it receives and can match to an account. Browser-only tracking, thin customer information and cross-device journeys all reduce what it sees.
Does the Conversions API help with cross-device tracking?
Yes. It sends the sale from your server with customer information attached, so Meta can match the event to a person even if they bought on another device.
What is a good Event Match Quality?
Higher is better. Meta says better event match quality can increase the additional conversions reported, so work on adding customer information parameters to each event.
Will fixing tracking lower my cost per result?
It often does, because the same spend is credited with more sales. The ads did not change, so note the date of the change when you compare periods.




