The lead timeline: from first click to purchase, with every source on the same ruler
A lead is a sequence of events: saw the ad, opened the page, watched the video, filled the form, replied on WhatsApp, bought, missed an installment. Each system keeps a piece. The timeline is where the whole sequence exists — and it is what audiences, journeys and AI read from.

Ask a salesperson what they would like to know before calling a lead. The answer is always a story: where the person came from, what they saw, whether they already bought something, whether they owe. No CRM field tells a story. The timeline does.
Technically, it is a single table: one row per event, with who (the person’s id), when, the event type, which source it came from and the details. Sounds like little. It is the piece that makes the rest of the CDP work, and it is the most valuable thing centralized leads produce.
What goes on the ruler
| Source | Events | What they carry |
|---|---|---|
| Site pixel | Page viewed, video watched, checkout opened, form submitted | URL, UTMs, ad cookies, whatever the page knew |
| Payment platform | Purchase approved, boleto generated, refund, late installment, course access | Product, offer, amount, status, recurrence |
| CRM (webhook) | Opportunity created, replied, conversation started, won, lost | Salesperson, stage, product, reason |
| E-mail tool | Opened, clicked, unsubscribed | Campaign, link |
| Zoom / live events | Registered, joined, left, chat | Meeting, time spent |
| Customer database | Status changed (e.g. became delinquent) | Before and after of each column |
The last row deserves a note: internal systems store state (the customer IS delinquent), not events. For the timeline what matters is the change — when they started being. A database source that compares two reads and emits “changed” turns state into history.
Three rules that decide whether the ruler can be trusted
- 01The instant is the event’s, not the arrival’s. A purchase from 2020 reprocessed today stays in 2020. We got this wrong once and more than half the purchases ended up with the wrong time — every time-windowed audience started lying.
- 02Every event has a deduplication key. The payment platform resends the same sale on every sync; without a key the timeline inflates and the same sale enters an audience three times.
- 03The person is the canonical one. When two records are merged, both histories become one person’s — never the other way round.
A timeline with the wrong time is worse than none: every calculation with “in the last 7 days” keeps running and returns a number that is plausible and false.
Who reads the timeline
- The lead profile, which the salesperson opens before calling.
- The audience: “did A, then did B at least 30 minutes later, and has not done C since” is a query over the ruler — the same one that builds an abandoned-cart audience.
- The journey: the trigger is an event, the wait is measured on the ruler, the cancellation is another event.
- The Meta delivery: the purchase that goes out via CAPI carries attribution because the ad click is on the same ruler.
- The AI, through the connector: following sales by asking is querying the ruler in another vocabulary.
How it appears on screen
The profile shows the ruler top to bottom, with one icon per source and a summary per row: “Bought Mentorship — R$ 2,492 — PIX” instead of a JSON. Each row expands to show detail: on the database event, which columns changed and from what value to what; on the purchase, the offer, the installments and the tracking field. An event that shows up raw, with its technical name and no source, is a sign the screen fell behind the data — and it is a product defect, not a data one.
In CrazyLeads every source writes to the same timeline through the same identity resolver, the instant is the event’s, the deduplication key is mandatory, and the lead profile, audiences, journeys and the MCP connector read from it.