This one comes up in a specific, maddening shape: Events Manager is green. Test events fire, the pixel helper is happy, purchases and leads stream in all day. Then you go to build a campaign, open the conversion event dropdown in Ads Manager, and the event you can watch arriving in real time simply is not on the list. This week we walked a founder in exactly this spot through it on a forum — their events arrived perfectly, and the account was wired through a Meta Business Partner integration. The fix had nothing to do with tracking code.
Data arrival and asset visibility are different layers in Meta's model. Events Manager answers “is data reaching this dataset?” Ads Manager's dropdown answers “is this dataset assigned to this ad account, at a permission level that lets campaigns use it?” A healthy answer to the first question tells you nothing about the second — so once you have confirmed events are arriving, every additional hour spent on pixel code is spent on the wrong layer.
Two diseases share this complaint
Be precise about which one you have, because the internet mostly answers the other one. Disease one: events are not arriving at all — Events Manager is empty or erroring. That is a tracking problem: test events tool, pixel helper, deduplication, consent banners blocking the browser side. Disease two, this article: events arrive fine and stay invisible to campaign creation. That is an assignment problem, and it lives in Business Settings, not in your website code.
The five-minute scope test
Before touching any settings, find out how big the problem is. Open a different ad account in the same business portfolio that uses the same dataset, and start building a campaign there. If that account can see the events, the problem is scoped to your ad account specifically — it is an assignment issue, and the fix sits with whoever owns the dataset. If no ad account anywhere can select the events, assignment is not your problem and you can stop chasing it down this path.
The sharing boundary, layer by layer
When the scope test points at assignment, work through these in order. Each layer can look healthy from Events Manager while quietly blocking the campaign UI:
- Shared to the business is not connected to the ad account. A dataset shared into a business portfolio — or across businesses through a partner relationship — still has to be connected to each specific ad account that will optimize on it. Meta documents this as its own step (adding an ad account to a dataset in Business Settings → Data sources). Sharing at the business level alone connects it to nothing.
- Permission level matters. Meta's sharing controls for datasets distinguish levels of access. The read-oriented level keeps Events Manager perfectly legible while the ad account cannot build on the dataset. If a partner did the sharing, the permission they picked is the first thing to check.
- Custom conversions have their own sharing step. A custom conversion is an asset with its own per-ad-account and per-partner sharing in Events Manager, separate from the dataset's. It is entirely possible to share the dataset correctly and leave the custom conversion behind.
- Partner integrations can stand up a twin. Some integrations create a second dataset, and events land in one while the ad account is connected to the other. Compare the dataset ID that is receiving events against the dataset ID connected to the ad account before concluding anything else.
If it is a custom event
One more wrinkle that mimics all of the above. For website conversions, a raw custom event is generally not selectable as an optimization target the way standard events are — you wrap it in a custom conversion first (Meta documents a carve-out on the app side, where the App promotion objective can optimize custom app events directly). So if the missing event is custom and the dataset checks out, the fix may simply be creating the custom conversion — and then sharing that with the ad account, per the layer above.
When it really is Meta
Platform-side incidents do happen — the same forum thread had another advertiser whose Events Manager was erroring on a day when data from the day before looked fine. But note the shape: outages present as data not arriving or surfaces erroring. Selective invisibility — one ad account blind to a dataset that is demonstrably receiving — is almost never an outage. It is a permission diagram with one missing edge.
The general rule that makes this class of problem quick instead of maddening: in Meta's model, data belongs to datasets, and visibility belongs to assignments. When one surface can see what another cannot, the question is never “what broke?” It is “who was assigned?”