How-to
The pixel and conversion event per ad account: set once, verify every launch
The pixel is not an ad setting: it is an ad set setting, copied from the last thing you touched. Run more than one account and that is how client A's pixel ends up optimising client B's budget.
The short answer
The pixel and the conversion event live on the ad set, not on the ad, and every ad in the ad set inherits them. Save the default pixel once per ad account. Pick the deepest event that realistically clears about 50 results a week on that account. Check both on one ad before the batch goes live. Get it wrong and the budget optimises for another site, or the ad set stalls in Learning limited.
One setting, two failure modes
Every conversion ad set points at a pixel and at one conversion event to optimise for. Meta now calls the container a dataset: "Datasets allow you to connect and manage event data from different sources ... in one place", and "Your dataset ID will be the same as your existing pixel ID". Two things go wrong with this setting, and neither shows in the ads list:
- The wrong pixel. One person runs several accounts. The ad set was duplicated, or the default came from the last account touched. The ads deliver, the budget spends, and the optimisation signal belongs to another site.
- The wrong event. The pixel is right, but the ad set optimises for an event that rarely or never fires. A Purchase event on a lead-gen site. A custom event that was renamed. Delivery starts, then stalls.
How Meta wires it, precisely
In the Marketing API the ad set carries a promoted_object: the pixel_id ("The ID of a Facebook conversion pixel. Used with offsite conversion campaigns", Meta reference) plus a custom_event_type such as Purchase or Lead. Meta requires it for conversion objectives and derives the rest itself: "Facebook automatically infers conversion_specs for your specified objectives. You cannot manually configure conversion_specs; we ignore any value you pass."
Two consequences:
- Ads never choose a pixel. They inherit the ad set's. Check one ad and you know the whole ad set. That is why this is a single check on the pre-launch QA checklist (check 2).
- The event is an optimisation choice, not a tracking choice. The pixel keeps tracking every event it fires. The ad set only optimises toward the one you picked.
The wrong event ends in Learning limited
Meta's learning-phase documentation says an ad set exits learning "after about 50 results in the week after the ad set's last significant edit". Optimise for an event that fires twice a week and that bar is out of reach. The ad set becomes Learning limited ("an ad set becomes learning limited when it is unlikely to receive about 50 optimisation events in the week after your last significant edit", Meta help). Meta's own remedies confirm the diagnosis: choose "an optimisation event that occurs more frequently", broaden the audience, raise the budget.
The practical rule for volume advertisers: pick the deepest event that realistically clears ~50 per week on this account, and revisit it when volume changes. A new store optimises for add to cart before purchase. That is Meta's own example, not a hack.
Set it per ad account, once
Both failure modes are copy-paste failures. The fix is the same as for naming, UTMs and identity. Decide per ad account, write it down, and make every new ad set read from that record.
In Adlio the default pixel is part of the ad-account settings. Chosen once, applied to every new ad set Adlio creates for that account, never shared or suggested across accounts. Launch into an existing ad set and its pixel and event stay untouched, as they should. Every ad lands paused, so "right pixel, right event" is a ten-second check in Ads Manager before any budget moves.
Verify on launch day
- Open the ad set, Optimisation & delivery. The pixel name and event should match the account's record.
- New or low-volume account? Ask whether the chosen event will realistically fire ~50 times a week. If not, step one level up the funnel.
- A week later, check the Delivery column. Learning limited on a fresh ad set is this article's failure mode until proven otherwise.
Adding a batch to an ad set that already exited learning is its own topic: adding ads to an existing ad set.
Adlio saves the pixel per ad account and fills it on every ad of a batch. The launch flow itself is on bulk upload Facebook ads from a folder.
Frequently asked questions
Is the Meta pixel the same thing as a dataset now?+
Effectively yes. Meta's help: "Your dataset ID will be the same as your existing pixel ID if an existing pixel is linked to your dataset." A dataset bundles event sources (pixel for website events, Conversions API, app SDK) in Events Manager. Where this article says pixel, read pixel-or-dataset.
Where do the pixel and conversion event actually live?+
On the ad set. In the API that is the promoted_object with a pixel_id and a custom_event_type. Meta requires it for conversion objectives and infers the rest ("Facebook automatically infers conversion_specs for your specified objectives"). Ads inside the ad set inherit it, so one wrong ad set poisons every ad you add to it.
What happens if I optimise for an event my pixel rarely fires?+
The ad set cannot collect the "about 50 results in the week after the ad set's last significant edit" that Meta says it needs to exit learning, so it becomes Learning limited. Meta's own fix list starts with "Consider choosing an optimisation event that occurs more frequently. For example, move from purchases to add to basket."
Adlio team
Built by media buyers who launch Meta ads in volume. Questions or corrections: support@adlio.ai.
Topic cluster
Launch hygiene and QA
Naming, UTMs, pixel, identity and the paused review that makes a bulk batch safe to set live.
- Meta ads naming convention: a template to copy, applied to every ad
- UTM parameters for Meta ads: set once per account, applied to every ad
- The pixel and conversion event per ad account: set once, verify every launch
- Instagram account not showing in Ads Manager: the causes, and when you do not need it
- Adding ads to an existing ad set: what it does to the learning phase, budget and delivery
- Facebook ad review when you publish in bulk: timing, re-review triggers and paused ads
- Rolling back a bulk launch: pause many ads at once without resetting learning