{"id":599,"slug":"rule-own-customer-id-as-primary-key","title":"RULE: Own a single customer_id primary key that joins across your vertical SaaS + QuickBooks + email + ads.","kind":"rule","scope":"business","status":"current","audiences":["kevin","claude-code","dev","smb-owner","candid-team"],"topics":["agency-methodology","data-infrastructure","crm-systems"],"reference_body":"**Rule:** Every Candid Creative client data layer is anchored on a **single canonical customer_id** that joins records across the vertical SaaS, QuickBooks, email/marketing automation, ad platforms, and any other system holding customer records.\n\n**Why:**\n- MuleSoft 2025: average org has **897 apps, only 29% integrated** ([[mulesoft-2025-897-apps-29pct-integrated]])\n- The single biggest blocker to Stage 3 → Stage 4 on the [[data-maturity-curve-5-stage]] is entity-resolution across silos\n- IDC: data silos extract **20-30% operational efficiency** annually\n- The Zillow / ATTOM / Cherre playbook is, fundamentally, \"own the primary key\" — that's what their normalization engines deliver\n\n**How to apply:**\n- During the data-infrastructure scoping ([[modern-data-stack-on-budget-2026]]), the FIRST table to design is the canonical customers table\n- Pick the source-of-truth for new customer creation (often the vertical SaaS) and ALL other systems get mapped to its customer_id\n- For legacy data: fuzzy-match + manual reconciliation to create historical customer_ids; one-time cost worth the recurring queryability\n- Privacy bonus: SARs and Law 25 portability requests become a single SQL query (`SELECT * FROM all_tables WHERE customer_id = $1`) rather than a five-tool scavenger hunt","rationale_body":null,"metadata":null,"links":{"outgoing":[{"slug":"mulesoft-2025-897-apps-29pct-integrated","title":"MuleSoft 2025 Connectivity Benchmark: organizations use 897 applications on average; only 29% are integrated","kind":"reference","scope":"business","link_type":"depends-on"},{"slug":"data-maturity-curve-5-stage","title":"Reference: the 5-stage Data Maturity Curve — from stranded data to data as product","kind":"reference","scope":"business","link_type":"depends-on"},{"slug":"modern-data-stack-on-budget-2026","title":"Reference: minimum viable data stack for a $1M-$10M Canadian service business (2026, C$100-C$500/month)","kind":"reference","scope":"business","link_type":"depends-on"}],"incoming":[{"slug":"rule-structured-data-is-privacy-compliance-accelerator","title":"RULE: Treat a deliberate data layer as a privacy-compliance accelerator, not a privacy risk. The scattered alternative is harder to comply with.","kind":"rule","scope":"business","link_type":"relates-to"},{"slug":"research-brief-dataset-is-the-product","title":"Research brief: The Dataset is the Product — when a service business should own its data (piece 12 of 15)","kind":"reference","scope":"business","link_type":"relates-to"}]},"created_at":"2026-05-22T20:37:13.294Z","updated_at":"2026-05-22T20:37:13.294Z"}