Value Optimization Meta: What Belongs in value and currency
Two fields decide how value optimization Meta performs on your account: value and currency inside an event's custom_data. Meta documents their requirements plainly - and the requirements are stricter than most buyers assume. This guide covers what belongs in each field, the formatting rules that keep them usable, the common mistakes that quietly flatten value-based optimization, and how affiliate payout maps into the documented structure.
Delivery around these fields - tokens, postbacks, and the hop into the Conversions API - is built in the network postback to CAPI guide; this page stays on the two fields themselves.
The Documented Requirements
The custom-data documentation states Meta's contract directly: value is "required for purchase events or any events that utilize value optimization," and it "must represent a monetary amount." Its companion currency is likewise required for purchase events and "must be a valid ISO 4217" three-letter code (custom data parameters).
In a payload, the pair lives inside custom_data:
{
"custom_data": {
"currency": "USD",
"value": 42.50
}
}Three properties follow from the documentation. An amount is a number, not a string with symbols. Currency is a code, not a symbol or a name. And the pair travels together - a value without its currency is ambiguous at best and unusable for value optimization at worst.
What Optimization Reads
Value-based strategies bid toward expected revenue; their raw material is the value field of the events they receive - fields graded through the quality signals the platform reports. Consequences worth writing on the wall:
- Purchase events without value still count as conversions - but they carry nothing for value-based bidding to work with. The event fires; the money signal does not.
- Wrong values train wrong. An averaged or placeholder value teaches the optimizer a fiction - the same argument as in the payout passing guide, where the actual per-conversion payout is the number that belongs in the field.
- Currency mismatches distort reports silently. A euro amount labeled USD does not fail anything - it just misprices every optimization decision built on it.
Affiliate mapping is mechanical when the chain is wired correctly: the network's postback carries the payout, the tracker stores it, and the delivery layer forwards it as value with its currency - the documented pair from the payout guide.
The Mistakes That Flatten Optimization
- Value as a string with decorations.
"$42.50"is not a numeric monetary amount;42.50is. - Currency as text.
"dollars"or"$"fail the ISO 4217 requirement -"USD"is the documented form. - Zero values left in place. A Purchase with
"value": 0reports a conversion worth nothing; if the payout is genuinely zero, the event type - not the value - is what should change. - Mixed currencies in one account. A 42-euro value labeled USD corrupts every ROAS calculation downstream (the reconciliation guide separates counting problems from currency problems).
The same test catches all four: one real conversion through the chain, then the event's fields inspected in the platform's test tooling (get started with the Conversions API).
Value Optimization in Meta: Frequently Asked Questions
Frequently asked questions
Sources
Sources
- Prove the fields: Pixel Activator fires free valued test events you can inspect.
- Correct value on every event: Most formats and forwards payout and currency automatically.
