TL;DR
An objective is the event Notifizz watches to decide a campaign “worked”. You set it on the campaign (a click, a read, a custom event likepurchase.completed). Notifizz then credits one conversion per unique recipient who received the campaign and triggered the objective afterwards.
- Pick from
Click,Reador any of your custom events. - Conversions are deduped per recipient — the same user doesn’t count twice.
- The dashboard shows who converted (last 50) and every objective evaluation in the Outbox tab for debugging.
Setting an objective
In the campaign editor, the recipients box has an objective row at the bottom. Click it to choose:Click— fires when a recipient clicks any button you placed in the notification. No identity work needed: Notifizz wires the click through a redirect URL it generates per message.Read— fires when the notification is marked read in the inbox widget.- A custom event — any event in your catalog. Notifizz credits the conversion when the event payload carries a canonical identity (
id,email,pushId, orphone) that matches a recipient who got this campaign.
How conversions are credited
Two paths exist, both honour the same dedup rule (one credit per recipient per campaign).Fast path — receipt-based
The default forClick, Read, and custom events whose payload already carries identity. Notifizz looks up “did this recipient receive a message from this campaign?” — if yes, credits a conversion. One lookup, no custom code.
Custom resolution — onObjective
When the event doesn’t carry canonical identity directly (only an internal ref, a Stripe customer id, etc.), your orchestrator can export a second hook that resolves it server-side:
{ id?, email?, pushId?, phone? } | null. null means “this event does not qualify” — fine, the conversion is simply not credited.
Notifizz runs your custom resolution only when this hook is exported. When it isn’t, the fast path runs — nothing else to configure.
Stopping the sequence when the objective is reached
Counting a conversion and acting on it are two different settings. On the Recipients card,and ends when decides what happens to the rest of a sequence once someone reaches the objective:
- All notifications are sent (default) — nothing stops. Everyone gets every message.
- The objective is reached — the remaining messages of that person’s sequence are cancelled.
1, All-time, grouped per user, fires exactly once per person. See the migration deadline case for the full pattern.
Recipients skipped this way appear in the campaign panel’s Sends bar in their own layer — a success, not a warning: they did not receive the rest because the campaign worked.
Who converted
The campaign performance panel surfaces the latest 50 converted recipients — first identity, relative time, source event. Click the row to drill into the message that ultimately produced the conversion.Debugging in the Outbox
The Outbox has two tabs:- Notifications — every workflow run (delivered, no-recipient, failed, in-progress).
- Objectives — every objective evaluation, regardless of outcome.
Click any row to see the enriched event payload, the resolved identity, condition traces, and any error.
Privacy
Notifizz holds no customer data — only the canonical identity fields needed to dedup conversions (id, email, pushId, phone), stored on the dedup index. Conversion rows for the “Who converted” widget are pruned on the same retention schedule as workflow runs.