- Build a customer 360 (orders, products, geo, acquisition context)
- Attach enrichment fields (zero-party, first-party, or third-party)
- Create audience-ready customer lists (while respecting privacy requirements)
What “customer record enrichment” means in practice
Most enrichment work comes down to two steps:- Pick a customer-level join key (usually
sm_customer_key) - Attach attributes you want to analyze (or activate) at the customer level
your_project.sm_transformed_v2.dim_customers is the base customer table, and most downstream analysis joins back through sm_customer_key.
Common enrichment sources
Zero-party (self-reported)
Collected directly from customers (post-purchase surveys, quizzes, account creation). This is typically the highest-quality demographic data you can get—because it’s explicit.First-party (internal systems you control)
Attributes you collect operationally (loyalty tier, VIP status, subscription preferences, customer tags) that can flow into the warehouse via customer/order tags or platform fields.Third-party enrichment
Purchased demographic/household attributes joined to your customer records via privacy-safe identifiers (often hashed email) or address/phone, depending on the vendor.Inference (use cautiously)
Heuristic enrichment derived from PII (for example, gender inference from first name). Useful for directional analysis, not ground truth.Audience building workflows (warehouse-first)
Once attributes are on a customer-level table, you can build segments like:- High LTV customers in a specific region
- New customers acquired from a specific campaign strategy
- Customers who match a survey persona
customer_email_hashed) for downstream activation—if your policies and tools allow.
Strategy-based “audience” segments via campaign/UTM conventions
If you run demographic-targeted (or persona-targeted) campaigns, the most reliable way to measure long-term LTV is to encode the targeting strategy into a joinable attribute at purchase time—typically UTMs. For example:- Create distinct ad sets per segment
- Add a stable segment label to
utm_campaign/utm_content/utm_term - Analyze LTV by that label in the warehouse
Start here: demographics and joinability
The most common question is demographics (age/gender) and whether ad platforms can provide it in a way that supports LTV.Demographic Data Sources
What you can (and can’t) do for LTV by demographic
Customer & Order Tagging
Practical tagging patterns for enrichment
dim_customers
Customer join keys and identity fields
Data Enrichment
How enrichment fits into SourceMedium’s transformation layer

