Date: 2026-07-27 | Owner: Alecia (PivotPlanit) | Jui = CDP build owner
What changes on OUR side once Jui's CDP goes live. Not the CDP build itself - the ~32 downstream docs/scripts/flows that need updating or change behavior. Grounded in live files.
person_id (or CDP_Person_ID) BACK into Zoho
Leads/Contacts that our scripts can query? Or is CDP read-only? (This is the join key for
reconversion detection, shiplog PO->person match, and reporting joins. CRITICAL.)scripts/webhooks/zoho_to_brevo.py reconversion merge (~L1808-1940): becomes READ/NOTIFY-ONLY -
CDP already unifies the person; merge logic can be removed. Gate so only ONE system sends the
reconversion notification (avoid 3x fire from Zoho rule + CDP + our webhook).scripts/zoho/brevo_sync_audit_backfill.py: may become read-only audit if CDP pushes attributes
directly (also removes the ~2k-COQL/run credit drain).scripts/zoho/import_shiplog.py (~L47-66): PO->SO match by Subject LIKE - if a person has >1 SO,
add person_id lookup to disambiguate. Revalidate.CUSTOMER_DATA_MANAGEMENT.md (reconversion + collection sections), LIFECYCLE_COMMS_MAP.md (reconversion row + unsub handling), ZOHO_BREVO_SYNC_FUNCTION.md (consent + dedup no longer webhook-triggered), conversion-mapping-source-of-truth.md, shiplog-shipped-notification-as-built.md (match logic), google-ads-reporting-as-built.md + conversion_attribution.py docstring (attribution source: Zoho field vs CDP attribute).
Add a "CDP contract" section to CUSTOMER_DATA_MANAGEMENT.md capturing the 5 answers above - it becomes the SoT all downstream scripts key on. Then a 30-min Alecia+Jui sync to lock it.