Overview
By default, Meta optimizes ad delivery toward the customers most likely to generate revenue, not profit. Two orders can look identical to that algorithm and be very different for your business: a full-price, high-margin order and a heavily discounted bundle with a thin margin both register as the same order value if that's all Meta sees. If your margins vary across products (bundles, sale items, different product costs by SKU), Meta can end up spending aggressively on high-revenue, low-margin orders while under-serving the orders that actually make you money.
Profit Optimization closes that gap. It sends Meta a profit value with every purchase, in addition to the standard order value, so Meta's delivery algorithm has a signal for which conversions are actually profitable, not just which ones are largest. This is additive: Meta keeps using order value as before, and layers the profit signal on top once your account qualifies (see eligibility below).
Who this is for: stores where margin varies meaningfully across products, for example different product costs by SKU, frequent discounting or bundling, or a mix of wholesale and retail-priced items. If every product carries close to the same margin, there's little for Meta to optimize against; see requirement 2 below before setting this up.
What changes once it's on: nothing in your existing campaign structure, bidding strategy, or reporting changes. Meta simply gains an added profit signal it can use, once your account clears its own eligibility thresholds, to bias delivery toward higher-margin outcomes over time. Expect a gradual shift in delivery as Meta's system learns from the new signal, not an immediate reallocation.
What it doesn't do: it doesn't guarantee lower spend, doesn't change how order value is reported in Triple Whale or Meta Ads Manager, and isn't the same feature as Attribution Passback or pLTV optimization. See the FAQ below for how those relate.
Before you begin
⚠️ Meta will not turn on Profit Optimization until your account meets its own eligibility requirements below. Complete these first. Turning on the toggle before then won't produce a result.
1. Complete, accurate product costs
Every product needs a cost of goods value entered in Cost Settings. Incomplete or missing costs make the profit value inaccurate, or missing entirely, for those orders. The setup screen flags products with missing costs. Fix those first.
2. Real margin variation across your catalog
Profit Optimization only helps if profit actually varies by order. If your margins are flat across every product, Meta has no meaningful signal to learn from, and delivery won't change. Confirm this before setup, so you're not troubleshooting a feature that's working as intended but has nothing to optimize against.
3. Meta's own eligibility requirements
Before Meta turns on profit-based optimization for your account, it has its own requirements, separate from anything you set up in Triple Whale:
Requirement | Threshold |
Distinct positive profit values | At least 3 different values flowing through |
Purchase volume | Approximately 200 Purchase conversions in the preceding 28 days |
Activation time | Up to 7 days after qualifying data starts flowing |
Feature access | Meta must have Profit Optimization enabled on your ad account |
Until your account meets these, Meta shows the option as unavailable or grayed out in Ads Manager. That's expected. It means Meta hasn't unlocked the feature yet. Meta controls this timing, not Triple Whale.
Steps
There are two parts to this:
First, make sure Triple Whale has accurate product costs so it can calculate a real profit value
Then, enable the toggle that starts sending that value to Meta.
Where the toggle lives depends on whether you've set up Meta in Sonar before, so check which path applies to you in step 2 before you start.
Add product costs, if you haven't already. Go to Settings → Cost Settings → Cost of Goods and confirm every active product has a cost of goods value entered. Resolve any flagged gaps before continuing.
Reach the Profit Optimization toggle. Where this lives depends on whether you've already been through the Meta setup wizard in Sonar Enrichment:
First time connecting Meta through Sonar:
Already connected Meta and completed the wizard before Profit Optimization existed:
Turn on the Profit Optimization toggle and Save. You'll see a confirmation message.
Check your event log to confirm the profit value is present and non-zero on recent Purchase events for orders with complete cost data.
How it works
When the toggle is on, Triple Whale includes an additional net_revenue field in the Purchase event payload sent through CAPI, alongside the standard value field(unaffected) and currency.
Net Revenue = the money that actually ends up in your pocket after an order, not just the sale price.
Say a customer buys a $60 hoodie from your store:
Line item | Amount | Why it moves the number |
Gross sales | +$60.00 | What the customer paid at checkout |
Discount code (10% off) | −$6.00 | You advertised $60 but only collected $54 |
Shipping charged to customer | +$5.00 | You billed them for shipping, so that's incoming |
Actual shipping cost | −$7.50 | What it really cost you to ship the box (often more than you charge) |
COGS (product + materials) | −$18.00 | What the hoodie itself cost you to make or source |
Payment gateway fee | −$1.75 | Stripe/Shopify Payments' cut for processing the card |
Handling fee | −$1.00 | Picking, packing, labor to fulfill the order |
Net revenue | $30.75 | What's actually left after every real cost is paid |
That $30.75 — not the $60 sale price — is what Triple Whale sends to Meta as the order's profit value, so Meta can tell the difference between a $60 order that nets $30 and a $60 order that nets $5 after discounts and shipping losses, and spend accordingly.
In one sentence: Take all the money customers paid you, remove any discounts you gave away, adjust for shipping (add what you charged, subtract what it cost you), then subtract everything it cost to actually make and deliver the product (goods, payment processing, handling) — whatever's left is your real net revenue.
net_revenue= Gross sales − Discounts + Shipping revenue − Shipping costs − Product costs (COGS) − Payment processing fees − Handling fees
Product costs (totalCogs) come from your existing Cost Settings page; nothing new needs to be uploaded if your COGS are already maintained there.
Verify / expected result
Go to Meta Ads Manager → Events Manager. Once Meta has activated Profit Optimization, campaigns using it show a Profit Optimized badge.
Allow up to 7 days after your account meets the eligibility requirements above.
If it's not working
If you don't see the badge after 7 or more days of meeting the volume threshold, check with Meta directly that Profit Optimization is turned on for your ad account. Triple Whale sends the profit value; whether and when Meta uses it for delivery is controlled entirely on Meta's side.
This usually comes down to one of a few things:
Incomplete product costs. Go back to Cost Settings and confirm every active product has a value. Cost Settings → Cost of Goods, specifically, if you're double-checking after the setup steps above.
Not enough purchase volume yet. Meta looks for roughly 200 purchases in the preceding 28 days.
Not enough margin variation across your catalog. If margins are basically flat across products, Meta has nothing to differentiate on, and delivery is unlikely to change even once the feature is technically active.
Meta hasn't turned the feature on for your account yet. This can take up to 7 days after you meet the volume threshold.
Work through these in order to find which one applies to you.
FAQ
Does this replace my existing purchase optimization?
No. The profit value is additive. Meta still receives the standard order value; profit optimization is an additional signal layered on top once your account is eligible.
Is this the same as Attribution Passback?
No. Profit Optimization and Attribution Passback are independent features. Attribution Passback is about attribution accuracy; Profit Optimization is about what Meta optimizes toward. You can run either without the other.
Does this affect pLTV (predictive lifetime value) optimization?
No. pLTV is a separate Meta feature with its own, stricter eligibility (100 Meta-attributed conversions per week for four consecutive weeks) and isn't currently supported through Triple Whale. This article covers Profit Optimization only.




