Your chatbot tracks every signal. We stitch them back to one person.
Every click, every reply, every payment is logged across every channel your customers use - web, email, WhatsApp, voice, payments, ads. Then the 5-rung identity ladder stitches them back to one customer record. First-party data, no creepy ad-tech, GDPR by design.
The picture, in 30 seconds.
Below is the live event ledger from one customer's journey - the same one used on the homepage but you are seeing the full version here. Read the left side top-to-bottom, the right side ladder shows where each event sits on the identity climb.
- T+0web First page view
Anonymous visitor lands on your site from a Google search. Cookie set. Logged.
Identity: rung 0: device - T+12sweb Click on /services
Same visitor opens services page. Time on page tracked.
Identity: rung 0: device - T+1mweb Submits quote form
Email captured. We can now stitch them across email + future visits.
Identity: rung 2: email - T+4memail Quote email opened
They read the quote. We know exactly when.
Identity: rung 2: email - T+9mchannel WhatsApp message in
They reply on WhatsApp using the number from the quote. Chatbot recognises them instantly and pulls the thread.
Identity: rung 3: phone - T+11magent Chatbot qualified them
Qualify agent (one of the 27) asks 3 questions inside the chatbot. Marks them ready-to-book.
Identity: rung 3: phone - T+15mwebhook Stripe deposit paid
They pay the $50 deposit inside the chatbot. Webhook fires, workspace updates, customer becomes an account.
Identity: rung 4: account - Ongoingagent Chatbot keeps working
Follow-up agent sends a reminder 24h before. Post-job review ask the day after. Every touch logged on the same thread.
Identity: rung 4: account
Five rungs. From anonymous device to paying customer.
Every customer climbs this ladder. We track them at each rung. The higher they climb, the more we can stitch together - but we never stop tracking once they reach the top.
A first-party cookie lands on the visitor's device the moment they hit your site. No name, no email, no idea who they are yet. Just "this device has been here before."
Visitor lands on yoursite.com from a Google search at 11:42pm. Device cookie set. Logged.
They come back tomorrow on the same browser. We recognise the device. We now have visit count, time on each page, what they read. Still no PII.
Same visitor returns the next morning. Goes directly to /pricing/. Spends 4 minutes there. Now we know they are interested.
They submit a form, open a tracked email, or chat with the bot and share an address. Now web visits + email opens + email clicks all stitch back to one record.
They fill the quote form on day 3. Email captured. The two prior anonymous visits stitch back to them retroactively.
They text the business number or get an SMS reminder. Phone hashes joined to the record. Now web + email + WhatsApp + SMS all share one timeline.
Day 4 they reply on WhatsApp using the number from the quote email. WhatsApp + web + email all unified.
They book a slot, pay a deposit, or create an account. They become a real customer record. Every future interaction across every channel pins to that customer.
Day 4 they pay the $50 deposit in chat. They become Customer #1,247. Every future interaction lands on the same thread forever.
Seven sources. One unified event stream.
Each signal source has a type. The chatbot logs all of them on a single timeline so you can ask "what did this customer do across every channel?" and get one chronological answer.
Page views, time on page, scroll depth, button clicks, form submits. Your site is the home base.
Opens, clicks, replies. Including the transactional ones (quote sent, reminder, receipt) — not just marketing.
WhatsApp, SMS, Telegram, voice. Every message in either direction. Including missed calls.
Each of the 27 agents in the chatbot logs what they did: qualified a lead, sent a quote, took a booking, handled a refund.
External systems (Stripe, Twilio, your CRM, your scheduler) push events to the chatbot. Payment received, SMS delivered, calendar updated.
Tracked links in emails + SMS + ads. We see which campaign drove a click without depending on third-party cookies.
When the visitor lands from a paid ad, the UTM + campaign + creative all attach to their first event. Full attribution loop.
12 days, 15 events, one person, one record.
Below is every signal logged for one customer from their first anonymous Google search through to a paid booking and a return visit. Real shape, anonymised data. The chatbot logs this automatically without you doing anything.
- Day 1 - 11:42pmweb Anonymous visitor
Lands from a Google search for "best mover Ventura CA". UTM logged. Cookie set.
Identity: rung 0 - Day 1 - 11:43pmweb Reads /pricing/
Spends 2m18s on the pricing page. Scrolls to the bottom. Hovers on the $1k tier.
Identity: rung 0 - Day 2 - 8:14amweb Same device returns
Same cookie. Now visit #2. Lands on the homepage directly this time.
Identity: rung 1 - Day 3 - 2:30pmweb Submits quote form
Email captured. The two prior anonymous visits stitch back to them.
Identity: rung 2 - Day 3 - 2:31pmagent Chatbot qualifies
Qualify agent asks 3 questions in the form-acknowledgement email. Marks them ready-to-book.
Identity: rung 2 - Day 3 - 2:34pmemail Quote email opened
They read the quote. We know exactly when. Click tracked on the "see calendar" link.
Identity: rung 2 - Day 3 - 6:18pmpixel Reminder SMS clicked
Reminder text fires at 6pm with a tracked short-link. They tap it on their phone.
Identity: rung 3 - Day 4 - 9:12amchannel WhatsApp message in
They reply on WhatsApp using the number from the quote. Recognised instantly, full thread pulled.
Identity: rung 3 - Day 4 - 9:14amagent Booking assistant
Booking agent (one of the 27) offers 3 slots inside the WhatsApp thread.
Identity: rung 3 - Day 4 - 9:19amwebhook Stripe deposit paid
They pay the $50 deposit in chat. Webhook fires. Workspace updates. Customer record created (#1,247).
Identity: rung 4 - Day 4 - 9:19amagent Onboarding agent triggered
Calendar invite sent. SMS confirmation queued. Customer file initialised in the workspace.
Identity: rung 4 - Day 5 - 7:42amemail Pre-job briefing email
Auto-sent 24h before the job. Includes parking info, contact details, expected timeline.
Identity: rung 4 - Day 6 - 6:30pmagent Post-job review ask
Review agent sends a one-line SMS asking for a Google review. Logged regardless of response.
Identity: rung 4 - Day 12 - 3:14pmweb Returns to /pricing/
Now a customer. Hovers on the next tier up. Triggers a Multi-channel upgrade nudge in their workspace.
Identity: rung 4 - Ongoingagent Friday 5pm summary
Every Friday at 5pm: one email with every signal from the week, the wins, the patterns, the gaps.
Identity: rung 4
What you get from us vs what most agencies show you.
Most agencies still show clients a Google Analytics dashboard with eight metrics on it. Here is the comparison.
| Question you actually want answered | Google Analytics | Your chatbot's tracking |
|---|---|---|
| Who is this person across visits? | Anonymous session | 5-rung identity ladder, stitched |
| What did they say in WhatsApp? | Not tracked | Full thread, with timestamps |
| Did they pay? | Goal completion if you set it up | Stripe webhook + receipt + customer record |
| Did the ad work? | UTM session, maybe attributed | UTM + CAPI send-back + agent qualification trace |
| Why did this customer not convert? | You guess from the funnel chart | Replay every message, see the exact drop-off |
| What did the customer say when they cancelled? | Not tracked | Full refund-handler thread + sentiment |
| Can I see one customer's complete journey? | Cohort analysis if you build it | One click. Every signal on one timeline. |
| Are people asking for things we do not sell yet? | Not tracked | FAQ topic counters surface emerging demand |
Wired to your existing stack on day one.
The chatbot does not replace your tools. It listens to them, stitches their signals into the timeline, and acts on them when configured. No data silos.
The questions every legal team asks first.
We have answered these dozens of times. Here are the straight ones.
Is this GDPR-compliant?
Yes. The chatbot uses first-party data only on the surfaces you control (your site, your email, your phone number, your calendar). We do not buy third-party data lists, do not use third-party tracking pixels, and do not sell data. EU visitors get a cookie consent banner that defers any non-essential storage until they accept. Data subjects can request export or deletion in one click from the workspace.
Do you do retargeting or ad-tracking pixels?
No third-party retargeting pixels. We send conversion events back to Google Ads + Meta Ads via their server-side APIs (Conversion API) so they can measure their own ad performance — but the visitor data stays on our infrastructure. Cleaner attribution, no creepy "followed around the web" effect.
What about iOS Apple Tracking Transparency?
ATT only affects third-party tracking SDKs in apps. Our tracking is first-party + server-side, so ATT does not degrade what we collect. Same goes for Safari Intelligent Tracking Prevention and Chrome's third-party cookie deprecation. The 5-rung identity ladder still works fully.
Where is the data stored?
Cloudflare D1 + R2 in the region nearest your business. EU customers get EU-region storage. Backups encrypted at rest. No data leaves your region without explicit configuration.
Can I export everything?
Yes. One-click CSV export of every event, every customer record, every conversation. JSON export too. Your data, your choice.
How long is the data kept?
Per your retention policy. Default is 24 months. You can dial it shorter (e.g. 12 months) or longer for paying customers. Auto-purge runs nightly.
Can my customers opt out of being tracked?
Yes. There is a one-link unsubscribe in every tracked email + SMS. There is a /privacy/preferences page on your site they can self-serve from. Opt-out flags propagate to all future events in under 60 seconds.
Stop guessing what your customers are doing.
Buy your chatbot. We onboard your channels, wire your tools, and the Friday summary lands at 5pm next week showing you every signal we caught.