2026-05-30 · Docs
Customers (CDP) — probabilistic stitching / computed traits / ad-network sync retracted
- Audit of `profiles/auto-upsert.ts` + `profiles/routes.ts` + `audiences` schema surfaced 3 over-claims. (1) "Deterministic + probabilistic identity stitching — web sessions + mobile installs + email + phone resolved to one canonical user_id" — code is `(orgId, projectId, externalId)` match only. No fingerprint + probabilistic match. (2) "Computed traits — first_seen / ltv / last_order_at / signin_count — calculated server-side" — no computed-trait engine; arbitrary trait storage only. (3) "Sync audiences to ad networks — Meta / Google / TikTok refreshed nightly" — zero ad-network sync code anywhere in the repo.
- Real shape: nested AND/OR audience builder with query-time membership evaluation, `estimateAudienceSize` endpoint, anon→identified device-takeover, AI lifecycle classifier (`new` / `active` / `at_risk` / `churned`) under `ai_lifecycle_classifier_enabled` opt-in.
- Segment comparison rewritten honest. New rows specifically call out cross-device stitching, computed traits engine, ad-network destinations — all marked ❌ for Sendora. whyStay LEADS with these missing features so prospects who need them self-disqualify.
- AI lifecycle classifier added as a new row showing Sendora ✅ vs Segment ❌ — surfacing the real win that was buried before.