ZapBounce and Segment
Segment's whole purpose is fan-out: one identify call reaches every connected destination. That amplifies a bad address across your entire stack in one operation.
It also gives you one place to fix it, which no other integration on this site can offer.
One bad identify call writes a bad address everywhere
An identify call with a mistyped address creates a contact in your CRM, a profile in your email platform, a user in your analytics and a record in your warehouse. Correcting it afterwards means correcting it in every one of them.
Some of those destinations key on email, so the correction creates a duplicate rather than an update, and the duplicates persist independently.
Verifying in a Segment function, before the fan-out, means the bad address is caught in exactly one place.
How the data moves
Use a destination function or a source function
A function runs in Segment's infrastructure on the event as it passes through, which is the single choke point.
Enrich the event with the verdict
Add the verdict as a trait so every destination receives it, rather than only filtering.
Cache verdicts to control cost
Functions run per event. An identify call fires on every session for some SDKs, so cache by address and check the cache first.
Let the event through with the verdict attached
Blocking events at Segment is a blunt instrument. Enriching lets each destination decide.
Setting it up
- Create a Segment function that runs on identify events.
- Store the API key in the function's settings rather than in the code.
- Add a cache keyed on the address so repeat identify calls do not re-verify.
- Enrich the event with the verdict and check date as traits.
- Let the event continue to all destinations with the verdict attached.
- Configure each destination to use the trait rather than blocking centrally.
Segment: common questions
Source function or destination function?
A source or middleware function, so the verdict reaches every destination. A destination function only enriches one.
Will this slow down my pipeline?
By the API call, per uncached address. Cache aggressively, because identify calls repeat far more than addresses change.
Should a bad verdict block the event?
No. Enrich and let each destination decide. Blocking centrally hides data from your warehouse too.
Check a Segment export today
100 free checks a month, no card. Unknown results and duplicates are never billed.