360-degree Profile & Unification
A 360-degree customer profile is a single, unified record of a customer that aggregates data from every touchpoint they have with your business — website visits, form submissions, purchases, ad clicks, CRM records, and more.
In CustomerLabs, this profile is built progressively. Every event or identify call sent to CustomerLabs adds new data points to the profile. Over time, the system stitches together anonymous and identified interactions into one comprehensive record.
What Data Goes Into a 360-degree Profile?
Section titled “What Data Goes Into a 360-degree Profile?”A complete profile in CustomerLabs consists of the following data layers:
| Data Layer | Description | Examples |
|---|---|---|
| Identity Data | Who the customer is | Email, phone, name, address |
| Behavioral Data | What the customer does | Page views, clicks, form submissions, purchases |
| Transactional Data | What the customer bought | Order value, product name, quantity, frequency |
| Engagement Data | How the customer interacts | UTM source, channel, first touch, last touch |
| External IDs | How other systems identify the customer | CRM ID, Facebook FBP, Shopify cart token, GA4 client ID |
| Group / Account Data | What company the customer belongs to | Company name, website, account ID |
How CustomerLabs Builds the Profile
Section titled “How CustomerLabs Builds the Profile”Step 1 — Anonymous Tracking
Section titled “Step 1 — Anonymous Tracking”When a user first visits your website, CustomerLabs assigns them an anonymous user ID (customerlabs_user_id). All their activity — page views, product views, clicks — is attributed to this anonymous profile.
During the first page view events, external ids like click ids, acquisition source etc are captured and stored in the anonymous profile.
Anonymous User (cluid: abc123) └── Page Viewed //click ids, acquisition source etc └── Page Viewed └── Clicked: "Start Free Trial" └── Clicked: "Start Free Trial"Step 2 — Identity Resolution
Section titled “Step 2 — Identity Resolution”When the user submits a form or logs in, the _cl.identify() call is triggered with a known identifier (email or phone). CustomerLabs then merges the anonymous profile with the identified profile.
Identified User (email: john.doe@example.com) └── All previous anonymous events are now merged into this profile └── New traits added: first_name, last_name, phone, companyThis is called Identity Resolution — the process of matching anonymous and known user identifiers to the same person.
Step 3 — Progressive Enrichment
Section titled “Step 3 — Progressive Enrichment”Every subsequent event — whether it’s a new page view, a product purchase, or a form update — enriches the existing profile. External IDs like facebook__fbp, shopify_cart_token, and crm_user_id are also appended over time.
Profile: john.doe@example.com ├── Traits: first_name, last_name, phone, company, address, city, country ├── External IDs: identify_by_email, identify_by_phone, facebook__fbp, crm_user_id ├── Events: Form Submitted, Product Viewed, Purchased (×3), Checkout Made └── Group: ABC Corporation (website: www.example.com)
Profile Unification
Section titled “Profile Unification”Profile unification is the process of correctly associating all events and traits from multiple identifiers to a single canonical profile.
Identifier Priority
Section titled “Identifier Priority”CustomerLabs resolves profiles using the following identifier hierarchy:
identify_by_email— highest priority, most reliableidentify_by_phone— used when email is not availablecustomerlabs_user_id— used for anonymous sessions- Custom external IDs (e.g.,
crm_user_id) — supplementary
Merge Scenarios
Section titled “Merge Scenarios”| Scenario | What Happens |
|---|---|
| Same email seen across two sessions | Events from both sessions are merged into one profile |
Anonymous CLUID tied to email via identify | Anonymous history is stitched to the identified profile |
| Phone-only user later provides email | Both identifiers co-exist on the same profile |
Group event sent with igb: true | Company profile is created or updated and linked to the user |
The Unified Profile in CustomerLabs
Section titled “The Unified Profile in CustomerLabs”Once data is unified, CustomerLabs maintains a single source of truth for each customer. This unified profile powers:
- Audience Segmentation — Filter users by traits, behaviors, events, or group membership.
- Ad Audience Sync — Send enriched, matched audiences to Meta, Google, LinkedIn, and other platforms.
- Server-side Events — Fire conversion events with user context to improve ad algorithm training and Event Match Quality (EMQ).
- CRM & Webhook Sync — Push unified profile data to your CRM or downstream tools.
Anonymous vs. Known Profiles
Section titled “Anonymous vs. Known Profiles”| State | Description |
|---|---|
| Anonymous | User has not yet been identified. Tracked by customerlabs_user_id. |
| Known | User has been identified by email or phone via _cl.identify(). |
| Unified | Anonymous history and known profile have been merged. |