Research & Benchmarks Optimization AI Ads Analytics Why Madgicx? About Us Blog Careers Case Studies Events Glossary Guides Answers Pricing Login Try for Free

Facebook Value-Based Optimization: Setup and Pitfalls

Date updated
Nov 12, 2026
Reading time
30 mins
Facebook Value-Based Optimization: Setup and Pitfalls

Value-based optimization on Meta: the data it needs, when to use it, setup steps and the pitfalls to check, from purchase values to hashing.

Value-based optimization on Meta (Facebook) tells Meta to find people likely to bring the most purchase value, not just the most purchases. In Meta's ad tools it is called maximize value of conversions, and you read its results in the ROAS column of Ads Manager.

It only works if Meta receives purchase events with a value attached. This guide explains what the setting needs, when it fits, how to set it up and the pitfalls that make it underperform, most of which come from the data you send.

Send cleaner conversion values to Meta

Cloud Tracking sends conversions from the server so Meta sees more of them.

Start your 7-day free trial

What value optimization is

A standard conversion goal asks Meta for more of an event, such as purchases. Every purchase counts the same, whether it is a $15 order or a $400 one. Value optimization changes what you ask for: more total conversion value for your spend.

Meta's help page for maximize value of conversions describes the setup for iOS 14.5 and later through Apple's SKAdNetwork. Its steps show the logic that applies more broadly: you connect an integration that sends purchase events with tracking values, Meta determines a value set for the chosen optimization event once data arrives, and you then create a campaign or ad set with value optimization in Ads Manager.

The result is that your goal shifts from "cost per purchase" to "return on ad spend". That is why Meta's page says you see results in the ROAS column of the reporting table in Ads Manager.

The data you need

Value optimization is a data problem first. Meta cannot optimize for value it never receives. Use this checklist.

RequirementWhat it means in practice
An integrationMeta's page names the Conversions API or the Facebook SDK as examples of an integration that sends and optimizes for purchase events with tracking values
Purchase events with valuesEach purchase event carries the order value, so Meta can tell a large order from a small one
EligibilityMeta says your integration should meet the eligibility requirements for maximize value of conversions; check the requirements in Meta's documentation before you plan the campaign
Accurate event detailsFor the Conversions API, website events require client_user_agent, action_source and event_source_url; non-web events require only action_source
Correct hashingMeta's parameters page says email, phone, first name, last name, gender, date of birth, city, state, zip code and country must be hashed; the click ID (fbc) and browser ID (fbp) must not be hashed; external_id is hashing recommended, not required

The server event parameters on Meta's Conversions API parameters page include event_name, event_time, user_data, custom_data, event_source_url, event_id and action_source. Meta also states that by using the Conversions API, you agree that the action_source parameter is accurate to the best of your knowledge, so set it honestly for each event.

If you use SKAdNetwork on iOS, note the extra rules Meta gives. Turning on maximize value of conversions in Events Manager uses at least four of the SKAdNetwork event slots, because Meta needs at least four value ranges and each range takes one event slot. Meta sets the value ranges automatically unless you customize your app event configuration. Events sent through Aggregated Event Measurement do not need it turned on.

When to use it

Use value optimization when order values vary enough that a cheap purchase and an expensive purchase are not equally good for the business. A store with a narrow price range gets less from it. A store with a wide range, bundles or upsells has more to gain.

Your situationLikely fit
Wide spread of order values, and purchase events carry the valueStrong: you want Meta to chase higher-value buyers
One product at one priceWeak: every purchase is worth the same, so a purchase goal already does the job
Purchase values missing or unreliable in your eventsFix the data first; optimizing on bad values makes results worse
Very few purchases a weekCheck volume first, since Meta says an ad set that does not get enough results shows "Learning limited"

Whatever your case, your break-even point decides what a good ROAS is. Work it out with our break-even ROAS calculator before you judge results.

Set it up step by step

  1. Send purchase events with values. Set up the Conversions API or the Facebook SDK so that every purchase event carries the order value. Check that website events include the required parameters listed above.
  2. Check your events before you build. Make sure the values are real order amounts, the events are not duplicated, and hashing follows Meta's rules.
  3. Confirm eligibility. Compare your integration with Meta's requirements for maximize value of conversions.
  4. Let data arrive. Meta's page says it determines a value set for your chosen optimization event once your integration starts sending data.
  5. Create the campaign or ad set. Choose value optimization in Ads Manager, and expect to track results in the ROAS column.
  6. Leave it alone through learning. Meta's learning phase page says editing during the learning phase resets learning, and that ad sets usually exit it after about 50 results in the week after the last significant edit.

For the Ads Manager steps themselves, follow Meta's current in-product prompts, since the menu names change. For the wider picture of how bid and goal choices fit together, see our guides to Facebook ad optimization and the Madgicx optimization tools.

Pitfalls and how to spot them

  • Values missing from events. Symptom: the ROAS column is empty or far below your store's numbers. Check that purchase events carry a value.
  • Hashing mistakes. Symptom: low match quality. Hash the fields Meta lists, and leave the click ID and browser ID unhashed.
  • Wrong action_source or missing website parameters. Symptom: events rejected or misread. Website events need client_user_agent, action_source and event_source_url.
  • Too few results. Symptom: the Delivery column reads "Learning limited". The ad set is not getting enough results to exit learning, so give it more budget or fewer ad sets.
  • Frequent edits. Symptom: costs swing after each change. Meta says frequent budget changes can cause an ad set to re-enter the learning phase.
  • Judging by cost per purchase. Symptom: a value campaign "looks expensive" per order. It aims for higher order values, so judge it by ROAS against your break-even.
  • Setting up SKAdNetwork events without enough slots. Meta says maximize value of conversions needs at least four event slots in Events Manager.

Cleaner conversion values with Madgicx

Value optimization is only as good as the signal Meta receives. 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. That supports cleaner conversion value signals.

Once campaigns run, AI Marketer audits your Facebook and Instagram ad accounts and prepares recommendations that you review and approve.

Try Madgicx free for 7 days

FAQ

What is value-based optimization on Facebook?

It is a setting that asks Meta to find people likely to bring the most purchase value, not just the most purchases. Meta calls it maximize value of conversions, and results appear in the ROAS column of Ads Manager.

What data does Facebook value optimization need?

An integration, such as the Conversions API or the Facebook SDK, that sends purchase events with values. Meta also says the integration should meet its eligibility requirements.

Where do I see value optimization results?

In the ROAS column of the reporting table in Ads Manager, according to Meta.

Does the Conversions API need hashed data?

Some of it. Meta says email, phone, first name, last name, gender, date of birth, city, state, zip code and country must be hashed, while the click ID and browser ID must not be.

Why is my value-optimized ad set stuck in "Learning limited"?

Meta says that status appears when an ad set is not getting enough results to exit the learning phase. Add budget, merge ad sets or check that your purchase events are arriving.

You scrolled so far. You want this. Trust us.