Meta Advertising

The most powerful advertising platform in ecommerce. CTC combines algorithmic understanding with operational discipline to turn Meta spend into incremental, profitable contribution margin.

3.98B
Monthly Active Users
Across Meta family of apps, Q1 2025
65%+
Share of Wallet
Of ecommerce ad spend industry-wide
1.14x
ACQ Incrementality
Median iROAS factor across 45 tests
01 — The Philosophy

The Most Powerful Advertising Platform Ever Created

Meta is the most powerful advertising platform ever created. With 3.98 billion monthly active users across the Meta family of apps as of Q1 2025, it represents 65%+ share of wallet across the ecommerce industry. For brands scaling from seven to eight figures, Meta has the potential to be the singular channel of growth. For brands entering nine figures, it will remain the core growth engine.

This power comes from the efficacy of Meta's optimization engine. The platform operates on two core systems: Andromeda, a creative-first ad retrieval engine, and GEM (Generative Evaluation Model), a ranking intelligence layer operating at LLM-scale capacity. Together, these systems process billions of interactions daily, making probabilistic allocation decisions that no human operator can match.

CTC holds a singular focus: using Meta to drive incremental profitable contribution margin for our customers, as defined by their organizational expectation of return on invested capital. We are not optimizing for reported revenue. We are not optimizing for platform efficiency metrics. We are optimizing for profit that would not have existed without the ad spend.

The way you build your campaigns, set your cost controls, define your audiences, and manage your creative supply directly determines the likelihood of achieving that outcome. Meta's algorithm is extraordinarily powerful, but it operates within the constraints you set.
The structure is the strategy.
02 — Understanding the System

How Meta Optimizes and Targets

Before you can build an effective Meta advertising strategy, you need to understand the fundamental shift that has occurred in how the platform operates. Meta moved from an audience-first world to a creative-first world. The system no longer relies primarily on your targeting selections. Instead, it evaluates creative elements to determine who sees your ads.

The Infrastructure: Andromeda and GEM

🌌

Andromeda

Meta's next-generation personalized ads retrieval engine. Determines which ads can be shown to a user at any given moment. Operates on a creative-first paradigm, using creative attributes, user context, and behavioral signals to build a candidate set of eligible ads for each impression opportunity. Enables a 10,000x increase in model capacity, allowing the system to evaluate far more ad candidates per impression than was previously possible.

🧠

GEM: Generative Evaluation Model

The ranking intelligence layer. Determines what should be shown from the Andromeda candidate set. Operates at the scale of large language models, processing massive amounts of signal to predict which ad from the eligible pool is most likely to drive the desired outcome for that specific user. Acts as “the central brain” of Meta’s ads recommendation system.

Together, these systems represent a fundamental change in how ads are delivered. The critical breakthrough is the amount of signal Meta uses to make decisions. The platform evaluates user behavior across billions of interactions, placement eligibility, creative attributes, temporal context, and thousands of other variables that are invisible to advertisers. This allows for better judgment than humans can make manually.

The Breakdown Effect

Historical ROAS does not predict future ROAS. The signals Meta uses for future budget allocation go far beyond past performance data. When you look at an ad with poor historical performance, you are looking backward. The algorithm is looking forward, using a probabilistic model that incorporates user context, creative attributes, placement eligibility, and thousands of other variables you cannot see.
The Breakdown Effect

This is why making decisions based on yesterday’s ROAS is fundamentally flawed. You are operating on incomplete information, using a small sample set of historical outcomes to predict a future that the system models far more accurately than you can. Meta’s own documentation states this explicitly: the relationship between historical performance and future delivery is not deterministic. The system is making forward-looking probabilistic bets, not extrapolating backward-looking trend lines.

Why This Matters for Account Management

Understanding these systems changes everything about how you manage a Meta account. If the algorithm can evaluate 10,000x more ad candidates per impression, your job is to give it more options. If the ranking intelligence operates on signals you cannot see, your job is to trust the allocation decisions it makes within your defined cost controls. If historical performance does not predict future performance, your job is to stop making ad-level optimization decisions based on backward-looking dashboards.

The power is in the system. Your job is to set the constraints, feed the machine, and let it work.

03 — CTC Default Account Architecture

Campaign Structure and Settings

This is the core section. Everything that follows is built on this foundation. The CTC default Meta account structure is designed for operational simplicity, algorithmic leverage, and one-person execution by a Prophit Engineer. It is prescriptive, unambiguous, and opinionated.

01

Campaign Level

Sales objective in 95% of cases. Value optimized with minimum ROAS. ASC or CBO to leverage Meta’s budget allocation. Inflated budgets with cost controls.

02

Ad Set Level

7-day click optimization window (default). Broad targeting with ACQ vs. RTN exclusions. ROAS targets set here, not at campaign level.

03

Ad Level

Leveraging AI enhancements where brand is willing: dynamic text, creative enhancements, multiple URL testing. Lean into machine optimizations.

Campaign Level Settings

Sales objective in 95% of cases. This tells Meta to optimize for purchases. Edge cases (lead generation, engagement for brand awareness) exist, but the default is Sales. Address exceptions at the end of the planning process, not the beginning.

Value optimized with minimum ROAS. Value optimization tells Meta to prioritize higher-value conversions, not just cheaper ones. Minimum ROAS sets the floor for acceptable efficiency. This is the starting point for almost every campaign we run.

ASC or CBO to leverage Meta’s budget allocation. Advantage+ Sales Campaigns (ASC, formerly Advantage+ Shopping Campaigns) are now the default campaign build flow in Meta. We embrace this. Let Meta allocate budget between ACQ and RTN based on opportunity, not manual constraints. If using traditional campaign structures, enable Campaign Budget Optimization (CBO) to allow cross-ad-set allocation.

Ad Set Level Configuration

Optimization window: 7-day click by default. CTC primarily uses 7-day click attribution as the optimization window. This aligns with our incrementality data: we have historically seen a strong relationship between 7-day click and incremental impact. In our test database, 7-day click slightly underreports actual incremental impact, meaning it is a conservative metric. In cases with low budget, high AOV, or minimal alternative organic traffic, we may use 7-day click, 1-day view. The goal is to align to the most incremental action. Meta's attribution settings documentation provides the technical details of these windows.

Audience targeting: Always broad with ACQ vs. RTN exclusions. Broad targeting outperforms interest stacking because the algorithm has more room to find buyers. When you narrow targeting, you constrain the system’s ability to match your creative to the right person. The intelligence now sits in the creative evaluation layer, not in the audience definition layer.

This has become even more definitive with Meta’s infrastructure evolution. Meta’s ad ranking system now runs trillion-parameter, LLM-scale recommendation models that process deep user behavior sequences and contextual intent signals to match ads to people. Interest targeting does not add signal to this system. It constrains the model’s search space, telling a system trained on billions of behavioral sequences to ignore most of what it knows. The result is a smaller auction pool, weaker signal density, and less efficient delivery. The advertiser’s job is to give the model strong creative, clean signal (CAPI, EMQ, audience definitions), and the right economic constraint (tROAS). The model’s job is to find the right people.

Within broad targeting, we split by customer status:

ACQ (Acquisition): Excludes Shopify purchasers, pixel-based purchaser audiences, and lifetime Klaviyo exclusion lists. The goal is genuine new customer acquisition.

RTN (Retention): Targets existing customers. Different ROAS targets based on known incrementality factors. CTC’s test database shows Meta Retention has a median iROAS of 0.60 (6% incrementality), while Meta Acquisition has a median iROAS of 1.14 (63% incrementality). These are not the same. Your targets should reflect that.

ROAS targets at the ad set level. This allows ACQ and RTN to have different efficiency expectations based on their different incrementality profiles. Do not set ROAS targets at the campaign level. Set them at the ad set level where you can differentiate by audience type.

Ad Level: AI Enhancements

Leverage AI enhancements where the brand is willing and brand safety is protected:

Dynamic text: Allows Meta to test different headlines and body copy combinations

Creative enhancements: Platform-native image adjustments and optimizations

Multiple URL testing: Test different landing pages within the same ad

Lean into machine optimizations where the brand is comfortable. The system can find optimization opportunities you cannot see manually. The constraint is brand safety and messaging integrity, not a distrust of automation.

Cost Controls and Liquidity

Inflated budgets with cost controls allow for fluidity of market access. This is one of the most misunderstood concepts in Meta advertising. Meta calls this “liquidity”: the ability for the system to take advantage of moments of high usage. Meta’s budget optimization documentation describes how budget flexibility improves delivery efficiency.

This leads to day-by-day spend variance because market price varies relative to usage. We want this variance. We want to take advantage of cheap moments and pull back during expensive ones. Force the constraint of profitability (via minimum ROAS or cost cap). Allow liquidity to move across the time spectrum.

The traditional approach, constrained budgets with no cost control, says: “Spend this much regardless of efficiency.” That is backwards. You want the system hunting for efficiency, not hitting spend targets. Inflated budgets with cost controls say: “I will spend as much as you can find at this return threshold.” This scales into opportunity. The former burns budget.

Signal Quality and Setup

The highest-performing Meta accounts are built on a foundation of high-quality signal. This is not optional. This is table stakes.

CAPI (Conversions API) integration is required for proper signal transmission back to Meta. The Conversions API sends server-side events directly from your backend to Meta, bypassing browser-based limitations like ad blockers, cookie restrictions, and incomplete pixel fires. EMQ (Event Match Quality) score measures how well your server events can be matched to Meta user profiles. High EMQ scores (7+ out of 10) ensure the system has reliable signal to optimize against.

Shopify is CTC’s preferred native integration for CAPI. The Shopify-Meta integration provides automatic server-side event transmission with high match quality out of the box. For custom builds or headless commerce platforms, ensure your engineering team implements CAPI with proper customer information parameters (email, phone, user agent, IP address, etc.).

Critical check: Server events and total tracked purchase signals must match the total number of orders in Statlas or Shopify. This is a data integrity requirement. If Meta is receiving 80% of your actual purchase events, the algorithm is optimizing on incomplete data. Your performance will suffer, and your measurement will be unreliable. Audit this monthly at minimum.

Properly set up distinction between audience definitions: new vs. engaged vs. existing customers. This is required to appropriately track those audience segments for ACQ vs. RTN targeting. If your customer data is not properly categorized, you cannot exclude existing customers from acquisition campaigns, which destroys your incrementality measurement and inflates your reported ROAS with non-incremental retention revenue.

The Four-Campaign Structure

Every Meta account we manage contains four core campaigns. This structure is intentional. A consistent, minimal campaign architecture enables the push-to-build creative system: our media buyers can deploy ads into a known structure without reinventing the wheel for every brand, every launch, every season. It maximizes Meta’s budget allocation control by consolidating signal into as few campaigns as possible, giving the algorithm the broadest possible opportunity set to find efficient spend.

The four campaigns are built from two dimensions: content type (Evergreen vs. Marketing Moment) and customer status (ACQ vs. RTN). All four campaigns are set up as value optimized with a ROAS goal.

Evergreen ACQ

Always-on creative. Ad sets fill sequentially: 50 ads per ad set, then start the next. DABA gets its own dedicated ad set within the campaign.

Evergreen RTN

Mirrors ACQ structure exactly. Same ads, same fill order. Adjusted ROAS targets reflecting the lower incrementality of retention audiences.

Marketing Moment ACQ

Calendar-driven. Each ad set maps to a specific marketing moment with hard start and end dates set during the marketing calendar build.

Marketing Moment RTN

Mirrors ACQ structure. Same moments, adjusted ROAS targets to reflect lower incrementality during promotional periods.

Ad sets are numbered sequentially. Each ad set holds a maximum of 50 ads, which is Meta’s per-ad-set cap. The first 50 ads go into Ad Set 1. Ads 51 through 100 go into Ad Set 2. Each new batch of creative fills the remaining capacity in the current ad set. When full, a new ad set is created. Each new batch is inserted into both Evergreen ACQ and Evergreen RTN simultaneously, maintaining structural parity.

Dynamic Ads for Broad Audiences (DABA) gets its own dedicated ad set within each Evergreen campaign. DABA pulls from the product catalog and lets Meta dynamically assemble creative per user. It operates on different signals than static ads and requires its own ad set.

Each ad set in a Marketing Moment campaign references a specific marketing moment from the marketing calendar. Every ad set has a defined start date and end date that matches the marketing moment’s scheduled window. These dates are set during the marketing calendar build, not reactively. When the moment ends, the ad set stops. No manual pausing required. The structure enforces the calendar.

Promotional creative is deployed into both Marketing Moment ACQ and Marketing Moment RTN simultaneously. ROAS targets for RTN reflect the lower incrementality of retention audiences during promotional periods.

The structural rule is simple: Evergreen campaigns fill sequentially (50 ads per ad set, then start the next). Marketing Moment campaigns map one ad set to one calendar event with hard start and end dates. DABA gets its own ad set in each Evergreen campaign. This structure is deterministic enough to be generated algorithmically from a creative pipeline and marketing calendar.
Campaign Architecture Rule

When necessary, we can introduce minimum spend levels at the ad set level to control for specification. This is most common when inventory management requires a certain product or category to receive guaranteed exposure. We also use bids at the ad set level to control the flow of budget to areas where we have a cash-based liquidity preference, for example, directing spend toward products with better margin profiles or excess inventory.

Otherwise, if we are strictly optimizing for maximizing incremental contribution margin across the entirety of our budget, we want to leave as much of the budget allocation optionality to Meta as possible. The fewer manual constraints, the more efficiently the system can hunt for profitable impressions.

Counter to many ideas of creative testing, CTC does not create dedicated budget exclusively for testing novel or new creative. We believe that at all times, each ad should compete for each incremental dollar across the entirety of the portfolio of creative. Let Meta optimize for the highest likelihood of return against the objective. There is no “testing budget.” There is only the budget, and every ad competes for it.
CTC Creative Testing Philosophy

Resolving Underspend and Exploring Opportunity

The four-campaign structure above is the starting point. When the system is not spending to plan, or when there is opportunity to capture additional volume, expand systematically using the Four-Phase Expansion Framework. Each phase must be exhausted before moving to the next. Never prematurely lower efficiency constraints.

Phase 1

Creative Expansion

Deploy additional creative into Evergreen ACQ, RTN, and active Marketing Moment campaigns. Prioritize diversity of concepts, not minor variations. Creative is always the first lever. No other action precedes this.

Phase 2

Bid Surface Expansion

Duplicate the Evergreen campaign into a Lowest Cost with Bid Cap campaign. Target CPA = AOV / ROAS target. Same creative pool and audience structure. Captures lower-cost conversions without relaxing economic constraints.

Phase 3

Under-Spend Expansion

Launch a dedicated Under-Spend Expansion ASC. Include ads where spend in Evergreen is less than 3x the CPA target. Pull from Evergreen only. Removes delivery constraints and lets Meta evaluate these ads in a unified signal environment.

Phase 4

Constraint Relaxation

Execute only if contribution margin is at or above forecast AND revenue or spend is below plan. Reassess the incrementality factor, adjust tROAS accordingly. Never lower below the breakeven contribution margin threshold. This is a business decision, not a media reaction.

04 — Day-to-Day Management

Never Turn Off an Ad

The entire system is designed for one-person execution by a Prophit Engineer. The core principle that enables this efficiency is simple but counter-intuitive: never turn off an ad.

This principle challenges decades of media buying orthodoxy. But it is fundamental to how modern Meta advertising works, and it is the single most common mistake we see brands make.

Meta’s algorithm allocates budget based on signals that go far beyond historical ROAS. When you turn off an ad based on its past performance, you are asserting a relationship between the past and the future that does not exist.
The Core Principle

The platform itself states that historical ROAS does not equal future ROAS. The breakdown effect means that the probabilistic model Meta uses for future delivery is fundamentally disconnected from the backward-looking summary statistics you see in your dashboard. If you are running CBO with cost controls, and an ad has poor historical ROAS, the system has already reduced allocation to it. Turning it off removes optionality without improving outcomes.

Think of each ad as an option. In financial terms, options have value even when they are out of the money. An ad that is currently receiving zero spend because the algorithm has de-prioritized it costs you nothing to keep live. But turning it off permanently removes the possibility that the system will find a future context where it performs.

The Primary Job of the Prophit Engineer

The Prophit Engineer managing Meta has three primary responsibilities:

1. Budget Allocation

Ensure correct budget allocation with no limitation at the campaign level. Set inflated budgets. Let cost controls govern efficiency. Remove artificial ceilings.

2. Bid Discipline

Ensure the bid matches the business objective. ROAS targets should align with incrementality expectations and margin requirements. Adjust when the business objective changes, not when daily performance fluctuates.

3. Creative Supply

Identify and launch new creative. Feed the machine. The system performs best with high creative volume and diversity. How many ads are live? Which ad sets need more? What formats are missing?

Minimize human interaction where they are making performance-based decisions on historical data. Allow the machine to make the correct probabilistic bid each day without interference. A great account should feature minimal bid changes and high amounts of new ad creation throughout the month.

This discipline is what allows one person to manage Meta effectively. You are not fighting the algorithm. You are not reacting to daily noise. You are setting the strategic inputs, monitoring the system, and feeding it creative fuel. That is the job.

05 — Measurement

How We Know It’s Working

CTC believes primarily in a system of leveraging incrementality to understand the closest approximation of the causal relationship between ad spend and the revenue realized by the business. We believe the best mechanism for achieving visibility into that relationship is geo holdout studies.

When we begin with a customer, we leverage the benchmark of historical data that we have accumulated about the average relationship between Meta’s 7-day click platform-reported return on ad spend and the results of incrementality tests for actual incremental return on ad spend.

1.14x
ACQ Incrementality Factor
Median across 45 CTC geo holdout tests
0.60x
RTN Incrementality Factor
Meta Retention: 6% incrementality
640+
Haus Experiments
Independent validation of the 1.14x benchmark

Across 45 tests, we have seen the median incrementality factor come out to 114%, or 1.14x the platform-reported 7-day click attribution. This means that for every dollar Meta reports in 7-day click attributed revenue, the actual incremental impact is approximately $1.15. 7-day click slightly underreports the true causal effect of the ad spend.

This result is confirmed by a publicly released database from Haus, where their benchmark across 640+ incrementality experiments returned a similar measure. This independent validation across hundreds of tests gives us high confidence in that number as a starting point.

We apply that multiple, which we call the incrementality factor, against the platform-reported result. We use it to set our bids and minimum ROAS expectations. We then report to our customers and in Statlas on iROAS (incremental return on ad spend). This serves two purposes:

Purpose 01

Confidence in Business Impact

iROAS gives the brand confidence that we are driving meaningful, incremental business impact, not just taking credit for revenue that would have occurred anyway.

Purpose 02

Apples-to-Apples Channel Comparison

Reporting on iROAS allows us to compare the return on Meta to other channels in an equivalent fashion. Platform-reported ROAS is not comparable across channels because each platform attributes differently. iROAS normalizes this.

We recognize that incrementality is a snapshot in time. The relationship between ad spend and incremental revenue is not a constant. It shifts with seasonality, competitive pressure, creative fatigue, and market conditions. We must continually repeat the test to validate the results for any individual business.

For the full incrementality testing methodology, progressive truth framework, and testing cadence recommendations, reference the CTC Marketing Measurement Core Methodology document in this series.