Profit Optimization in Meta

Last updated: June 30, 2026

1. Why Profit Optimization Matters

1.1 The Limitation of Revenue-Based Optimization

When a Meta campaign uses Maximize Conversion Value as its Performance Goal, Meta optimizes based on the conversion value it receives. If that conversion value represents order revenue, purchases with higher revenue are automatically considered more valuable—regardless of how profitable they actually are for the business.

As a result, the algorithm has no visibility into which purchases generate the greatest financial return. This means it may prioritize high-revenue products even when other products contribute significantly more profit.

Example

Product

Revenue

CM1

Product A

€500

€150

Product B

€300

€220

When optimizing for revenue, Product A appears to be the more valuable purchase because it has the higher conversion value.

In reality, however, Product B generates a higher Contribution Margin 1 (CM1) and therefore delivers greater economic value to the business.

Because Meta only receives revenue as the conversion value in a standard revenue optimization setup, it cannot distinguish between these two products. As a result, the algorithm may favor products with high revenue even though other products are actually more profitable.

1.2 How Profit Optimization Works

With Mable, you can send Contribution Margin 1 (CM1) to Meta instead of revenue.

This gives Meta a much more accurate optimization signal by reflecting the actual business value of each purchase.

Instead of optimizing for revenue alone, the algorithm learns to maximize profitable revenue.

Rather than sending Gross Revenue as the conversion value, Mable sends the order's actual CM1 to Meta.

1.3 What Are the Benefits?

Optimizing for CM1 can provide several advantages, including:

  • More profitable budget allocation

  • Better scalability of profitable campaigns

  • Less focus on low-margin products

  • More meaningful reporting for business decisions

  • The ability to optimize toward POAS (Profit on Ad Spend) instead of relying solely on ROAS

In addition, profit-based metrics can be analyzed directly within Meta Ads Manager.

This makes it easy to identify which campaigns are actually driving business profitability—and which are simply generating high revenue with low contribution margins.

1.4 Which Businesses Benefit Most from Profit Optimization?

Profit optimization is particularly valuable for businesses with:

  • Products that have varying profit margins

  • Multiple product categories

  • Large product catalogs with many SKUs

  • Frequent promotions or discounts

  • A focus on profitability rather than revenue growth alone

The greater the margin differences across your product portfolio, the greater the potential impact of profit optimization.

For businesses with relatively consistent margins across all products, the primary benefit is often improved reporting and greater transparency into campaign profitability.


2. Prerequisites for Profit Optimization

2.1 Review Your Meta Best Practice Setup

Before switching campaigns to profit optimization, make sure your Meta setup follows the recommended best practices.

In particular, verify that:

  • Only the Mable Dataset is used for your campaigns.

  • The dataset is connected to only one Catalog, whenever possible.

  • The Product Identifier sent by Mable matches the Content IDs used in your Meta Catalog.

A properly configured setup ensures that Meta receives consistent optimization signals and correctly matches products to catalog items.

For the complete setup guide, see:

Meta Best Practice Setup

2.2 Configure Your COGS

Before Mable can calculate and send Contribution Margin 1 (CM1) to Meta, your Cost of Goods Sold (COGS) must be configured.

Without COGS data, Mable cannot calculate CM1.

For step-by-step instructions, see :

Configure COGS in Mable

2.3 Create a CM1 Event for Meta

Once your COGS have been configured, you can create a CM1 AllCustomerPurchase event for Meta.

Navigate to:

Optimizations → Event Control → Meta

Then click:

+ Add Custom Mable Event

To create a CM1 event that mirrors the standard Purchase event while using CM1 as the conversion value, configure the event as follows:

  • Trigger: All Customer Purchase

  • Conversion Value: CM1

  • CV Filter: ≥ 0

After clicking Confirm, Mable automatically creates the CM1 AllCustomerPurchase Custom Event in the connected Meta Dataset.

Mable also creates the corresponding CM1 AllCustomerPurchase Custom Conversion in the Meta ad account selected in the Ad Account dropdown.

Both can then be used for reporting and campaign optimization.

In addition to CM1 AllCustomerPurchase, you can also create:

  • CM1 NewCustomerPurchase

  • CM1 ReturningCustomerPurchase

The setup process is identical—you simply select a different Trigger.

The combined CM1 NewCustomerPurchase setup is covered in detail in the guide:

Meta New Customer + Profit Optimization & Reporting

For detailed instructions on creating a CM1 event, see :

How to Create a CM1 AllCustomerPurchase Event in Mable

2.4 Verify the CM1 Event

New Mable events may initially appear with a warning icon in Meta Events Manager and must be reviewed once before they can be used.

Only after this verification can they be selected as campaign optimization goals.

To review the event, navigate to:

Events Manager → Mable Dataset → Hover over the warning icon → Review

Once verified, the event becomes available as an optimization goal within your Meta ad account.


3. Setting Up New Profit-Optimized Campaigns in Meta

Once the CM1 AllCustomerPurchase event is available in your Meta Dataset, allow it to collect data before using it for campaign optimization.

Important:
Before optimizing campaigns for CM1, we recommend waiting at least 7 days after the event is first sent to Meta. This gives the dataset enough data for Meta's algorithm to begin learning from the new optimization signal.

Once sufficient data has been collected, you can start optimizing campaigns for profit instead of revenue.

Because the optimization goal of an existing ad set cannot simply be changed from Purchase to CM1 AllCustomerPurchase, we recommend either:

  • Creating new campaigns, or

  • Duplicating your existing campaigns and configuring the duplicates for CM1 optimization.

For a proper CM1 setup, configure the following two settings.

3.1 Select CM1 as the Conversion Event

First, make sure the Conversion Source is set to the Mable-connected Dataset.

Only this dataset contains the CM1 AllCustomerPurchase event you created earlier.

When creating the new ad set, select:

Conversion Event → CM1 AllCustomerPurchase

Important:
Select the Custom Event, not the corresponding Custom Conversion.

This ensures Meta optimizes for your actual Contribution Margin 1 (CM1) rather than revenue.

3.2 Optimize for Conversion Value

In addition to selecting the correct conversion event, verify the campaign's optimization strategy.

On the Ad Set level, navigate to:

Optimization & Delivery

Under Performance Goal, select:

  • Maximize Conversion Value

  • Maximize Number of Conversions

This is important because CM1 is sent to Meta as the Conversion Value.

Only campaigns optimized for Conversion Value can take advantage of this additional profitability signal.

If you instead optimize for the Number of Conversions, Meta treats every purchase equally, regardless of whether it generated a high or low contribution margin.


4. Best Practice for Switching to Profit Optimization

We do not recommend moving your entire budget to profit optimization immediately.

Instead:

  • Duplicate your existing ad sets.

  • Configure the new ad sets to optimize for CM1.

  • Start with a smaller budget.

This keeps your existing setup stable while Meta learns the new optimization signal.

If your profitability metrics improve over time, you can gradually shift more budget to your CM1-optimized campaigns.

While it's also possible to update existing ad sets directly, the process requires you to pause the ad set, change both the conversion goal and optimization strategy, and then restart it.

Because this triggers a new learning phase, updating all existing ad sets at once often leads to a temporary drop in performance.


5. Learning Phase and Performance Expectations

After switching to CM1 optimization, Meta needs time to learn which users and purchases generate the highest profitability.

For most accounts, this learning period lasts:

  • Around one week

  • Often 2–4 weeks

  • Occasionally longer

During this period, it's normal to see:

  • Fluctuating performance

  • Changes in spend levels

  • Short-term fluctuations in efficiency

This is expected.

The algorithm is adapting to a completely new optimization signal.

The more data and budget available, the faster this learning process typically progresses.


6. Reporting After the Switch

Once you've switched to CM1 optimization, the most important KPIs in Meta Ads Manager also change.

Instead of focusing primarily on Revenue and ROAS, reporting should shift toward profitability metrics.

Key metrics include:

  • CM1

  • CM1 %

  • POAS

To evaluate campaign performance accurately, we recommend updating your reporting columns to include these profit metrics alongside your traditional revenue-based KPIs.

For the complete reporting guide, see :

Profit Reporting in Meta