Skip to content
Bach.ai

Meta Purchase Events Missing Value? 5 Fixes (2026)

Published
Drafted with AI; facts checked against the linked sources on . How we write

Why do my Meta purchase events show no conversion value?

Usually because the Purchase event reaches Meta without a usable value or currency. Meta needs a decimal number of zero or more, with no symbols or commas, plus a three-letter ISO currency code such as USD. Without them, purchase conversion value stays at zero and purchase ROAS, which is value divided by spend, cannot be calculated.

Purchases are counting but the revenue column is empty: the event fires, but the money does not travel with it. Meta adds up the value parameter on every Purchase event to build conversion value, so a missing, zero or malformed value leaves nothing to add. Five setup faults explain almost every case, and Events Manager names most of them for you in its Diagnostics tab.

Why does Ads Manager count purchases but show no value?

Meta calculates website purchases conversion value “by adding the value parameters you set for the purchase standard event on your website” (Website purchases conversion value). Purchase ROAS is that conversion value divided by amount spent (Purchase ROAS). So the two problems arrive together: if the value is empty, ROAS is blank or zero even when the purchase count looks right.

Two parameters carry the money. In Meta’s Pixel reference, currency and value are both listed as required for the Purchase event, and value takes an integer or float (Meta Pixel reference). On the server side, the Conversions API says value is required for purchase events and any event used for value optimization, and currency is required for purchase events and must be a valid ISO 4217 code (Custom data parameters).

One case is not a setup fault. Meta notes that for some results, such as ads delivered to iOS 14+ devices, purchase ROAS may not be calculated, and that statistical modeling may fill in some events and their values. A gap limited to that slice is expected; a gap across every campaign is your tracking.

Which of the five causes is it?

Each cause leaves a trace in Events Manager. The warning text below is Meta’s own, from How to troubleshoot Meta Pixel error and warning messages.

Cause What the code sends Diagnostics message Fix
1. No value at all fbq('track', 'Purchase') with no parameters Missing or invalid price in value parameter Add value and currency to the call
2. Default left in value: 0.00 copied from Meta’s starter snippet No format warning, but every order adds 0 Replace 0.00 with the order total variable
3. Badly formatted value "$1,299.00", "49,90" or text Missing or invalid price in value parameter Send a plain decimal: 1299.00
4. Missing or invalid currency No currency, or "US$" or "dollars" The currency parameter has a missing and/or invalid three-letter code Send a three-letter ISO code, such as USD
5. Pixel and server disagree Browser sends one value, Conversions API another Mismatches in currency and/or value parameters Send the same value and currency from both

Cause 2 is the quiet one. Meta’s default standard event code includes a value of 0.00 USD, which is meant to be edited (Set the value and currency of your Meta Pixel standard events). If nobody replaced it with a variable, every purchase reports zero revenue, and the value-format warning does not fire, because Meta accepts zero as a valid value.

How do I find which one is breaking my value?

Work from what Meta received, not from what you think the code sends.

  1. Open Events Manager, click Datasets in the left menu and select your pixel or dataset.
  2. Click the Diagnostics tab and expand any message about value, currency or mismatches. Click See affected URLs where Meta offers it.
  3. Find the Purchase event in the dataset’s event list and click View details to see browser and server events side by side.
  4. Place a test order with the Test Events tool open and read the value and currency attached to that one Purchase event.
  5. Compare that value with the order total in your store admin. Parameters may take 20 minutes to attach to events (Troubleshoot the event setup tool), so wait before you decide nothing arrived.
  6. Check the event name. Meta says event names are case-sensitive, and it flags “Event name mismatch” when a name is close to a standard event but not identical.

If step 4 shows a correct value but Ads Manager still shows none, the event may not be the standard Purchase at all; step 6 usually finds it.

How do I fix the value in the pixel code?

Meta’s rules for the value field are strict: a decimal number greater than or equal to zero, with no letters, special characters, currency symbols or commas, and a decimal point “regardless of the location, currency, etc.” (Set the value and currency). A working call looks like this:

fbq('track', 'Purchase', { value: 129.50, currency: 'USD' });

For real orders the value must be dynamic. Meta recommends asking your developer to pass the order total from the confirmation page instead of a fixed number, and lists the variable each platform uses, such as {ordergrandtotal} on Squarespace and $order->get_order_total() on WooCommerce (Set up dynamic value and currency). On a hosted platform with a native Meta integration, fix the setting in that integration rather than adding a second snippet, or you risk the mismatch problem below.

What if the pixel and Conversions API send different values?

Meta warns that mismatched value or currency between the pixel and the Conversions API “may cause issues if your events are deduplicated”: when Meta keeps one copy and discards the other, the kept copy may carry the wrong number, which “may lead to inaccurate return on ad spend (ROAS) calculations” (troubleshooting guide). Build both events from the same order record, in the same currency.

Deduplication itself (event IDs, the 48-hour window, retries) is a separate fault with its own guide: how do I diagnose duplicate events between pixel and CAPI? Keep this fix to the two money fields.

Watch the opposite warning too. “Price in value parameter is higher/lower than normal” means Meta finds the value unusually high or low. A value sent in cents (12950 for a $129.50 order), for example, reads as 100 times too high.

Does a missing value stop value optimization?

Yes. Maximize value of conversions needs “a conversion event that sends a value and currency”, and for website conversions Meta recommends at least 100 conversion events with at least 5 distinct values over the past 14 days (Requirements to use maximize value of conversions). Every purchase sent at 0.00 counts toward the event total but adds no distinct value, so a store with a broken value field can look eligible on volume and still be unable to optimize for value. Whether you should switch to value bidding once the data is fixed is a separate call: should I use value optimisation or purchase optimisation?

After a fix, Meta’s conversion value will rise, but it will still not equal your store’s revenue line, for reasons that have nothing to do with the value field: why does Meta revenue never match my store revenue?

Can software help?

Bach.ai’s audit flags an account where Purchase events are reported but their total value is zero, and lists value, currency and content IDs as the parameters to check. It proposes the fix and changes nothing on Meta without your approval. The wider tracking checks are on the Meta Pixel and CAPI hub.

FAQ

Is a purchase value of 0 allowed?

Yes. Meta accepts any decimal of zero or more, so 0 passes the value-format rule. That is the problem: a value stuck at 0.00 because the default snippet was never edited looks valid to Meta and reports no revenue. Check one real test order against its order total.

Do I need to send currency if my store only sells in USD?

Yes. Meta lists currency as required for the Purchase event in both the Pixel reference and the Conversions API docs, and Events Manager raises a warning when the three-letter code is missing or invalid. Send USD, EUR, GBP or whichever ISO 4217 code matches the order.

Why does Events Manager show Purchase but Ads Manager shows nothing?

Check the event name first. Meta’s event names are case-sensitive, so purchase is not the standard Purchase event, and Diagnostics reports this as an event name mismatch. Also check that the ad set’s conversion event is the same dataset that receives the purchases.

How soon after a fix will conversion value appear?

New events carry the corrected value from the moment the fixed code goes live; Meta’s event setup tool guide says parameters may take 20 minutes to attach. Earlier purchases are not rewritten, so the reporting gap stays in your history. Compare value per purchase from the fix date forward.

Sources

Sources: Meta Business Help Center, Website purchases conversion value, Purchase ROAS, Set the value and currency of your Meta Pixel standard events, Set up dynamic value and currency, How to troubleshoot Meta Pixel error and warning messages, Troubleshoot the event setup tool and Requirements to use maximize value of conversions; Meta for Developers, Meta Pixel reference and Conversions API custom data parameters (checked 2 Oct 2026).

MeasurementConversion Optimization

See what your Meta ads are really costing you.

Connect your account and Bach ranks potential revenue leaks with estimates and actions you can review. Free for 7 days, no credit card.

Start Free Audit
Start your free audit