Setting up a Facebook ad campaign means building three nested objects in Meta Ads Manager: a campaign that carries the objective and usually the budget, an ad set that carries the audience, placements and schedule, and one or more ads that carry the creative and the destination. Get the objective right and most of the rest follows, because Meta’s delivery system optimizes toward whatever result you named at the campaign level. Get it wrong and no amount of creative work rescues the spend.
The walkthrough below goes level by level, flags the targeting restrictions that catch people out, covers the creative sizes that actually matter, and finishes with how to read the results without fooling yourself.
Before you build: the dataset comes first
If the campaign optimizes for anything that happens on your website, the measurement has to exist before the campaign does. In Events Manager, create or open your dataset, install the Meta pixel, and add the Conversions API alongside it so events also arrive server side. Browser only tracking loses a meaningful share of events to blockers, and Meta’s optimization is only as good as the signal it receives. Verify your domain in Business settings, then set the priority order of your web events under Aggregated Event Measurement. You get a limited number of prioritized events per verified domain, so put the one that matters, usually Purchase or Lead, at the top.
Check event match quality in Events Manager once traffic is flowing. Sending hashed customer information parameters with each event lifts match quality and therefore attribution. The mental model matches our guide to setting up the TikTok pixel, only the parameter names differ.
Step 1: pick the objective
Ads Manager offers six objectives. The choice determines who Meta shows the ad to, so treat it as the most consequential setting in the whole build.
| Objective | Optimizes for | Use it when |
|---|---|---|
| Awareness | Reach, impressions, ad recall lift | You want the largest number of people to see a message cheaply |
| Traffic | Link clicks or landing page views | You need visits and have no conversion event worth optimizing to yet |
| Engagement | Messages, video views, post engagement, event responses | The conversation or the video watch is the outcome |
| Leads | Instant forms, calls, site leads | You collect contact details and follow up outside the platform |
| App promotion | Installs and in app events | You have a mobile app with the SDK wired up |
| Sales | Purchases and other high value conversions | You sell online and the dataset is receiving purchase events |
The common mistake is choosing Traffic because clicks look cheap. Traffic optimizes for people who click things, not people who buy things. If purchase or lead events are firing, choose Sales or Leads even though the reported cost per result looks worse.
Step 2: Advantage+ or manual
Meta has been folding its automated Advantage+ setup into the standard campaign flow rather than keeping it as a separate campaign type, so depending on your account you may see it as a distinct option at creation or as a toggle inside a Sales campaign. The tradeoff is the same either way.
Advantage+ hands audience selection, placement and much of the creative combination logic to Meta’s system. You supply creative, a budget, a broad geography and an existing customer list so it can split new from returning buyers. It works well when you have volume, a clean dataset and several creative variations. A manual campaign gives you explicit control of the audience, the placements and the optimization event, which is the right choice for a genuinely narrow segment, a controlled test, or an account too new to have conversion history worth learning from.
Step 3: budget at campaign level or ad set level
Advantage campaign budget, which Meta previously called campaign budget optimization, puts one budget at the campaign and lets the system move money between ad sets toward whatever is performing. Turn it off and each ad set holds its own budget.
Use campaign level budget when the ad sets are interchangeable and you care only about total results. Use ad set budgets when you need guaranteed spend on a particular audience, such as a retargeting pool you refuse to starve, or when a structured test needs each arm funded equally.
Daily budget is the sane default. Lifetime budget spreads a fixed sum across the schedule and is the only option that unlocks day parting. Size either against the optimization event: an ad set needs a meaningful number of optimization events per week to leave the learning phase, and Meta’s guidance has long pointed at roughly fifty. If a purchase costs fifty dollars, a five dollar daily budget will never get there.
Step 4: audience, and the limits you have to respect
In the ad set, set location, age, gender and detailed targeting, or skip most of it and use Advantage audience with a broad geography. Broad targeting plus strong creative beats narrow interest stacking in most accounts now, because the delivery system has far more signal than an interest list.
Custom audiences are the exception worth building: website visitors from your pixel, video viewers, people who engaged with your Page or Instagram account, and customer lists you collected yourself. Build a lookalike from any of those if the source is large enough.
The hard restriction is the special ad category. If the ad relates to credit, employment, housing, or social issues, elections and politics, you must declare it, and Meta then limits targeting: age and gender selection go away, detailed targeting shrinks, location targeting takes a wider minimum radius, and lookalikes behave differently. Misdeclaring is a fast route to account restrictions, so check the current rules in the Meta Business Help Center before you build.
Step 5: placements and creative
Advantage+ placements, the automatic option, serves across Facebook, Instagram, Messenger and the Audience Network wherever Meta finds results. Start there and move to manual placements only when you have evidence a surface is wasting money. Creative sizing is where most of the avoidable waste happens: supply at least a square or vertical feed asset plus a full vertical asset for Reels and Stories.
| Surface | Aspect ratio | Watch out for |
|---|---|---|
| Feed | 1:1 or 4:5 | Only the first line or two of primary text shows before the more link |
| Reels and Stories | 9:16 | Keep text and logos away from the top and bottom, where the interface overlays sit |
| Video everywhere | Match the surface | Burn in captions. Most views start with the sound off |
Write short headlines, put the offer in the first line of primary text, and pick the ad level call to action button that matches the destination. That button is separate from the one on your Page, covered in adding a call to action button on a Facebook Page. To build ads outside the standard interface, see creating and managing Facebook ads through the API.
Step 6: reading the results
Start with three columns: cost per result, results, and amount spent. Add frequency and click through rate when diagnosing a decline. Use Breakdown by placement, age and device to see where the money goes, but do not act on a breakdown with tiny numbers in it.
Check the attribution setting before you compare anything. The default window counts clicks over several days and views over one, so Meta’s reported conversions will not match your own analytics, which usually credits the last click. Neither number is wrong, they answer different questions. Reconcile with tagged destination URLs and your own reporting, as covered in measuring and analyzing marketing ROI and using Google Analytics for marketing.
Leave a new ad set alone while it is in the learning phase. Editing the budget, audience or creative resets it, and an account where everything is permanently learning never stabilizes.
Troubleshooting
The ad is stuck in review. Most reviews finish within a day. If it runs longer, check that the destination loads publicly, has no interstitial, and matches the ad’s claim. Resubmit with a fixed link before filing an appeal.
Delivery is limited or the ad set barely spends. Usually the audience is too small for the optimization event, or the bid cap is too low. Widen the audience, remove the bid cap, or raise the budget.
Conversions do not match your analytics. Expected. Different attribution windows, view through credit and blocked browser events all contribute. Compare trends, not absolute figures.
Cost per result climbs after a few days. Check frequency. If the same people are seeing the ad repeatedly, refresh the creative or widen the audience rather than raising the budget.
The special ad category prompt blocks your targeting. That is the system working. Rewrite the campaign to fit the category rules instead of trying to avoid the declaration, because misdeclaring risks the whole ad account.
Frequently asked questions
What is the minimum budget for a Facebook campaign?
Meta enforces small daily minimums that vary by optimization type and currency, but the practical floor is set by your cost per result. An ad set needs enough optimization events each week to leave the learning phase, so budget at least several times your target cost per result per day.
Should I use Advantage+ or build the campaign manually?
Use Advantage+ when you have a clean dataset, several creative variations and enough volume for the system to learn. Build manually when the audience is genuinely narrow, when you are running a controlled test, or when the account is new and has no conversion history to learn from.
How many ads should go in one ad set?
Three to five is a sensible range. Fewer gives the system nothing to choose between, and many more splits delivery so thinly that no single ad accumulates enough data. Refresh the weakest one on a regular cadence rather than adding endlessly.
Do I still need the pixel if I have the Conversions API?
Yes. Meta recommends running both and sending the same events with a shared event ID so duplicates are removed. The browser pixel catches signals the server misses, and the server catches what blockers and privacy settings strip from the browser.
How long before I judge a campaign?
Give an ad set at least a week and enough spend to produce a meaningful number of optimization events. Judging after two days means judging the learning phase, not the campaign. Change one variable at a time, and note that any edit restarts learning.
The bottom line
A Facebook campaign is objective, audience, creative, in that order of importance. Wire up the pixel and the Conversions API first, choose the objective that names the outcome you actually want, and let the delivery system do the targeting work unless you have a specific reason to override it.
Then read the results honestly. Watch cost per result and frequency, respect the learning phase, reconcile Meta’s attribution against your own analytics rather than picking whichever number looks better, and expect the interface to have moved by the time you build the next one.
