A Meta Conversions API event taxonomy for the Savor early-access funnel. Mapped to problem-aware, solution-aware, and brand-aware visitor states, scoped for staged engineering delivery.
A sales funnel describes the journey a person takes from first encountering a problem they have, to discovering that solutions exist, to choosing a specific product. It is called a funnel because the number of people gets smaller at every stage.
Hundreds visit. Most leave. Some keep reading. Fewer engage. A small share signs up. An even smaller share completes the action that actually matters to the business. The shape of that drop-off is the funnel. Every product has one, whether they measure it or not.
PageView ViewContent ScrolledToProblemSection ProblemSectionDwell
ScrolledToHowItWorks ScrolledToFeatures ScrolledToWhatSavorIs EmailFieldFocused
Lead CompleteRegistration DownloadClicked InstallStarted QuizStarted QuizCompleted
How this connects to what we are building. Meta's ad system (called Andromeda) decides which ads to show people based on what kind of content they are likely to engage with. To do that well, it needs to know where each visitor is in the funnel above. The CAPI events we fire at each stage are how we tell it. The rest of this deck is a map of those events.
Meta's Andromeda retrieval engine, deployed late 2024 and rolled out globally by October 2025, replaced audience-first targeting with creative-first matching. The system reads the visual and semantic signals inside an ad and routes it to users in a corresponding mental state.
Which means the conversion events we feed back into Meta now teach Andromeda which creative signals actually move people through the funnel.
Firing only Lead and Purchase leaves the system blind to upper-funnel resonance. Firing nothing at the problem-aware and solution-aware layers means Andromeda has to guess which creative is doing the warming work.
The map that follows fixes that. It assigns events to each awareness stage so the algorithm has continuous signal from page-land to install, and it tags each event by build priority so engineering can ship in phases.
Each visitor enters the page somewhere on the awareness ladder. The events we fire tell Andromeda where they were when they engaged, and where they went from there.
The visitor recognizes the mental clutter, the forgotten intentions, the scattered messages-to-self. They haven't committed to anything yet.
They've moved past recognizing the problem. They are now evaluating how Savor works and whether this is the right category of answer for them.
They know Savor specifically. They are moving through commitment, install, and persona disclosure as part of early access.
They are on the page reading about mental clutter, forgotten intentions, scattered messages to self. They feel seen. They haven't yet decided Savor is the answer.
Which creative angles successfully bring problem-aware users onto the page, and which sections of the page actually resonate once they arrive. These signals shape future prospecting creative matched to similar mental states.
They have moved past "yes, I have this problem" into "is this the right kind of solution for me." They are reading about how Savor works, what it captures, the features, the philosophy.
Which sections of the page convert problem awareness into solution interest. These are the middle-of-funnel signals that let the algorithm sequence creative for users who already know they need something but are still evaluating categories.
They know Savor, have chosen Savor, and are now moving through commitment, install, and persona disclosure. These are the conversion events that close the loop.
The events below are the highest-value signals in the entire funnel. They define who actually converts, which feeds lookalike modeling, retargeting audiences, and the optimization targets Andromeda uses to find more of the same.
Apple's iOS framework caps each domain at 8 events that can be optimized against. Priority runs bottom-up: closest-to-revenue events get the top slots. These 8 slots correspond directly to the P0 launch scope.
The P1 events (ScrolledToProblemSection, ProblemSectionDwell, ScrolledToHowItWorks, ScrolledToFeatures, QuizStarted) still fire and still feed Andromeda's retrieval logic for matching prospecting creative. They simply don't need optimization slots because they aren't the conversion goals we optimize bids against.
Engineering focus is on the P0 set. These 9 events form the minimum viable taxonomy that activates the full Andromeda strategy. P1 events layer in afterward as enhancement work without blocking launch.
P0 events are weighted toward standard CAPI events and simple click/load handlers, which is why they ship first. P1 events lean on intersection observers and dwell timers. These require more careful implementation and QA, but none of them block the optimization strategy if launched in a second pass.
Anyone who completes an optional quiz, after they've already signed up and received their invite, is showing discretionary effort. They are our highest-intent early-access user. This is gold for any lookalike seed.
If the quiz captures persona-distinguishing answers, fire QuizCompleted with a persona custom parameter.
Examples: "Parent juggling household logistics," "Solo professional with too many tabs open," "Caregiver with shifting priorities," "Knowledge worker overwhelmed by inbound."
This lets us build separate lookalike audiences per persona type, which is exactly the kind of granular signal Andromeda's creative-as-targeting model can leverage. Different problem-aware creative for different persona segments, matched automatically by the retrieval engine.
Each persona answer should be passed as a parameter on the same QuizCompleted event rather than as separate custom events. This keeps the AEM slot count manageable while still producing distinct, queryable audiences inside Meta Ads Manager.
This map covers what to fire and when, and what to build first. The next layer of work is what to send with each event.
For every event above, the payload should include: event_id for Pixel + CAPI deduplication, hashed identifiers (email, IP, user agent, click ID), and where relevant a predicted_ltv or a custom persona parameter.
Server-side firing for Lead, CompleteRegistration, QuizCompleted, and InstallStarted is essential. These cannot live in the browser if the data is to survive ad blockers, iOS privacy filtering, and the gap between client-side promises and database confirmation.