Meta Ads Manager Tutorial: The Object Model, and the Order That Avoids Rework

The three levels, and what each one owns
Ads Manager is a three-level structure, and almost every beginner mistake is an attempt to make a decision at the wrong level.
- Campaign owns the objective — what outcome you are buying — and, when you use campaign-level budgeting, the budget that gets distributed across everything beneath it.
- Ad set owns the delivery decisions: who to reach, where the ads can appear, when they run, how much is spent if the budget lives here, and which optimisation event delivery is steering toward.
- Ad owns only the creative and where the click goes.
Read that list once more, because it answers most of the "where is this setting?" questions. Targeting is not on the ad. Budget is never on the ad. The conversion event is on the ad set, not the campaign, even though the campaign objective constrains which events are available.
Why the order matters more than the clicks
Some choices lock after creation. The objective is the important one: it is fixed for the life of the campaign, and it determines which optimisation events the ad sets underneath can even choose from. Picking the wrong objective is not a setting you fix later — it is a campaign you rebuild.
That single fact turns Ads Manager from a form you fill in into a sequence you follow. The work that has to happen before you build anything is where most of the rework hides.
What must already exist before you build a campaign
Every item below is painful to add afterwards, because adding it invalidates the data you have already collected:
- A business portfolio with the ad account, Page, and payment method attached, and your own access confirmed at the right level.
- The pixel or dataset installed and actually firing — verified by watching a real event arrive, not by the presence of the code snippet.
- The conversion events you intend to optimise for, configured and ranked in your event settings. On iOS traffic in particular, the platform limits how many events per domain it will report, and the ranking decides which one wins when a user fires several.
- Domain verification for the domains those events belong to.
Building campaigns first and fixing tracking afterwards produces a week of spend you cannot attribute and a delivery system that has been optimising toward the wrong thing the entire time. Facebook ads for app installs covers the equivalent dependency order on the app side, where the measurement setup is even less forgiving.
Building the campaign, in the order the tool wants
At the campaign level, choose the objective by naming the action you want, then check that the objective actually optimises for that action rather than a proxy for it. Traffic buys clicks; it does not buy purchases, and it will happily deliver a great cost per click alongside no revenue.
Then decide where the budget lives. Campaign-level budgeting lets the system move money toward whichever ad set is performing, which is usually the right default and is also the reason your carefully balanced ad set budgets stop being balanced. Ad-set budgeting is for when you need guaranteed spend on a specific segment — a test, a required geography — and are willing to pay for that guarantee.
At the ad set level, set the optimisation event first, because it determines what "results" means everywhere else in the interface. Then audience, then placements. Leave placements broad unless you have a specific reason not to; restricting them narrows the auction and raises costs more often than it improves quality.
At the ad level, the creative and the destination. Give the system several distinct creatives rather than one, and make them genuinely distinct — variations on one idea give it nothing to choose between.
How many campaigns and ad sets this should add up to is its own question, and the wrong answer is expensive: see Facebook ads account structure. The bidding settings that sit alongside the optimisation event are covered in Facebook ads bidding strategy.
Reading the reporting without misleading yourself
The default columns are not the columns you need, and three things about them mislead consistently.
"Results" is not one metric. It means whatever each ad set is optimising for. Two ad sets with different optimisation events produce two different meanings of "result" in the same column, and the cost-per-result comparison between them is meaningless. Compare like with like, or add the specific conversion column you care about.
The attribution setting is a reporting window, not a change to reality. Switching it changes which conversions get counted against which ads, including historically. Numbers moving after you change it does not mean performance moved.
Early numbers are not performance. While an ad set is in the learning phase, cost per result is systematically higher and noisier than the level it settles at. Judging a new ad set in its first days measures the learning phase — see Meta ads learning phase for what resets it.
The three habits that cost beginners the most
Editing ad sets constantly. Significant edits restart learning. An ad set edited every morning never leaves it, and its numbers never mean anything.
Building many small ad sets. Splitting a modest budget across numerous narrow audiences starves each of them of the events it needs, and they compete with each other in the auction — the overlap problem described in Facebook ads audience overlap.
Turning things off too early. Most "this creative doesn't work" conclusions are drawn from sample sizes that could not have shown the opposite. Decide in advance what evidence would change your mind, and how long it takes to accumulate.
Frequently asked questions
Can I change the objective after launching? No. Create a new campaign. Anything else you can edit, at the cost of resetting learning.
Why does my ad set say "learning limited"? It is not accumulating enough optimisation events to stabilise — usually too small a budget, too narrow an audience, too many ad sets sharing the budget, or an optimisation event that fires too rarely. Widen, consolidate, or optimise for an event further up the funnel.
Ads Manager and the Meta Business Suite show different numbers. Which is right? They frequently use different default date ranges and attribution settings. Match those two settings across both before concluding anything is broken.
Do I need to verify my domain if I am only sending traffic to a site? If you intend to optimise for or report on conversions on that domain, yes. Verification is what lets you configure and prioritise the events on it.

