META PURCHASES

Low Event Match Quality for Purchase in Meta

Events Manager gives your Purchase event a low match quality score. Meta then ties fewer purchases to the people who saw your ads.

Why it happens

Few customer details travel with the purchase. Meta scores Event Match Quality on events sent from a server. It tries to match each event to a person with the customer data that comes with it: hashed e-mail, hashed phone number, name, address, and browser identifiers such as the click ID and the browser ID. Each extra detail gives Meta another way to find the person. A purchase that carries only an IP address and a user agent gives it very little to work with.

The sender may not have the order's customer data. A connection that runs from the shopper's browser sees only what the browser knows at that moment. On a checkout the shopper has just typed an e-mail address and phone number, but a sender that never reads them cannot pass them on. A sender that works from the order itself, after payment, has the e-mail, phone, name and address the buyer gave. Which of the two your store uses decides which details Meta receives.

Details get lost on the way. Meta expects e-mail, phone and the other fields in a set format and hashed before they are sent. A phone number without a country code, an e-mail address with stray spaces or a field that arrives empty cannot be matched. Browser identifiers are lost too when the shopper blocks cookies or the tracking script, so the server sends the purchase without them.

Consent also plays a part. A buyer who declined marketing cookies should not be sent to Meta, and the details of a buyer whose consent is unknown are handled by your consent mode. A lower score on stores with many such buyers is expected and is not a setting to fix.

Check it yourself

  1. 1Open Meta Events Manager, go to Data sources, and select your pixel.
  2. 2Open the Overview tab and click the Purchase event. Read the Event Match Quality score and the list of customer parameters received. Meta shows for each parameter how many of the events carried it.
  3. 3Look for e-mail and phone first. If they are missing or appear on only a small share of events, your purchases are sent without the order's customer data.
  4. 4Open the Diagnostics tab of the same pixel and read any message about missing or badly formatted parameters.
  5. 5Open the Test events tab and place a test order on your store. Open the event that arrives and check which parameters it shows and whether it came from the browser or the server.
  6. 6Find out which server sends your purchases. In Shopify admin, open Settings, then Apps and sales channels, and look at the sales channel apps and any other app that connects to Meta. In Events Manager, open the Settings tab of your pixel and check the Conversions API section for the senders it lists.
  7. 7In Shopify admin, open Orders and open a recent paid order. Check that the customer has an e-mail address and a phone number. If many orders have no phone number, the checkout does not ask for one, and no sender can pass it on.

What Meta needs with each server purchase is listed in setting up the Conversions API on Shopify.

Run the free diagnosis

FAQ

How long does a score take to change?

Meta recalculates the score from recent events, so a change in what you send shows up after new purchases have arrived. Look at it again after a few days of orders, not after one test order.

Does a low score mean my ads stop working?

No. It means Meta can match fewer purchases to ad viewers, which gives its optimisation less to learn from. The result depends on your account, your budget and your audience.

Can I raise the score by sending more fields?

You can send more of the customer data that the order really has. Do not invent or pad fields, and follow your consent setup for each buyer.

Is the score the same as the number of purchases Meta counts?

No. The score rates how well events are matched to people. The purchase count is a separate figure. A store can have a full count and a low score.

Related

Problem

Meta's catalog match rate is low on your Shopify store

Commerce Manager shows a low match rate between your events and your Meta catalog. Why Shopify purchases do not match catalog items and how to find the wrong product ID.

Guide

Meta Pixel purchase event not firing on Shopify, and "fbq is not defined"

How to test whether your Meta Pixel sends Purchase on a Shopify store, what the result tells you, and what the "fbq is not defined" error means for your tracking.

Guide

Meta event deduplication on Shopify: how event_id works and how to read the Event Deduplication tab

How Meta decides that a browser Purchase and a Conversions API Purchase are the same order, what the dedupe keys and the Event Deduplication tab show, and how to check a Shopify store's setup.

Guide

The Meta event ID with a Shopify custom pixel: how to make browser and server purchases match

How to pass an eventID from a Shopify custom pixel so Meta can match it with the Conversions API copy of the same order, which value to use, how to check that both sides send the same string, and what to do about the Facebook & Instagram app.

All tracking problems · All guides