Donal and Tomas in suits, walking through a city skyline with a mushroom cloud in the distance - Online Optimisers brand imagery
Tracking, but actually

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.

Chatbot event ledger Recording, live
  1. T+0
    web First page view

    Anonymous visitor lands on your site from a Google search. Cookie set. Logged.

    Identity: rung 0: device
  2. T+12s
    web Click on /services

    Same visitor opens services page. Time on page tracked.

    Identity: rung 0: device
  3. T+1m
    web Submits quote form

    Email captured. We can now stitch them across email + future visits.

    Identity: rung 2: email
  4. T+9m
    channel 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
  5. T+11m
    agent Chatbot qualified them

    Qualify agent (one of the 27) asks 3 questions inside the chatbot. Marks them ready-to-book.

    Identity: rung 3: phone
  6. T+15m
    webhook Stripe deposit paid

    They pay the $50 deposit inside the chatbot. Webhook fires, workspace updates, customer becomes an account.

    Identity: rung 4: account
  7. Ongoing
    agent 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
The identity ladder

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.

0
Device Anonymous on first visit

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."

Worked example

Visitor lands on yoursite.com from a Google search at 11:42pm. Device cookie set. Logged.

1
Visitor Same device across visits

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.

Worked example

Same visitor returns the next morning. Goes directly to /pricing/. Spends 4 minutes there. Now we know they are interested.

2
Email They give us an email

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.

Worked example

They fill the quote form on day 3. Email captured. The two prior anonymous visits stitch back to them retroactively.

3
Phone SMS or WhatsApp adds another channel

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.

Worked example

Day 4 they reply on WhatsApp using the number from the quote email. WhatsApp + web + email all unified.

4
Account Booked, paid, or signed in

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.

Worked example

Day 4 they pay the $50 deposit in chat. They become Customer #1,247. Every future interaction lands on the same thread forever.

Signal sources

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.

Web

Page views, time on page, scroll depth, button clicks, form submits. Your site is the home base.

Channel

WhatsApp, SMS, Telegram, voice. Every message in either direction. Including missed calls.

Agent

Each of the 27 agents in the chatbot logs what they did: qualified a lead, sent a quote, took a booking, handled a refund.

Webhook

External systems (Stripe, Twilio, your CRM, your scheduler) push events to the chatbot. Payment received, SMS delivered, calendar updated.

Pixel

Tracked links in emails + SMS + ads. We see which campaign drove a click without depending on third-party cookies.

Ad click

When the visitor lands from a paid ad, the UTM + campaign + creative all attach to their first event. Full attribution loop.

A full customer in 15 events

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.

  1. Day 1 - 11:42pm
    web Anonymous visitor

    Lands from a Google search for "best mover Ventura CA". UTM logged. Cookie set.

    Identity: rung 0
  2. Day 1 - 11:43pm
    web Reads /pricing/

    Spends 2m18s on the pricing page. Scrolls to the bottom. Hovers on the $1k tier.

    Identity: rung 0
  3. Day 2 - 8:14am
    web Same device returns

    Same cookie. Now visit #2. Lands on the homepage directly this time.

    Identity: rung 1
  4. Day 3 - 2:30pm
    web Submits quote form

    Email captured. The two prior anonymous visits stitch back to them.

    Identity: rung 2
  5. Day 3 - 2:31pm
    agent Chatbot qualifies

    Qualify agent asks 3 questions in the form-acknowledgement email. Marks them ready-to-book.

    Identity: rung 2
  6. Day 3 - 6:18pm
    pixel Reminder SMS clicked

    Reminder text fires at 6pm with a tracked short-link. They tap it on their phone.

    Identity: rung 3
  7. Day 4 - 9:12am
    channel WhatsApp message in

    They reply on WhatsApp using the number from the quote. Recognised instantly, full thread pulled.

    Identity: rung 3
  8. Day 4 - 9:14am
    agent Booking assistant

    Booking agent (one of the 27) offers 3 slots inside the WhatsApp thread.

    Identity: rung 3
  9. Day 4 - 9:19am
    webhook Stripe deposit paid

    They pay the $50 deposit in chat. Webhook fires. Workspace updates. Customer record created (#1,247).

    Identity: rung 4
  10. Day 4 - 9:19am
    agent Onboarding agent triggered

    Calendar invite sent. SMS confirmation queued. Customer file initialised in the workspace.

    Identity: rung 4
  11. Day 6 - 6:30pm
    agent Post-job review ask

    Review agent sends a one-line SMS asking for a Google review. Logged regardless of response.

    Identity: rung 4
  12. Day 12 - 3:14pm
    web Returns to /pricing/

    Now a customer. Hovers on the next tier up. Triggers a Multi-channel upgrade nudge in their workspace.

    Identity: rung 4
  13. Ongoing
    agent Friday 5pm summary

    Every Friday at 5pm: one email with every signal from the week, the wins, the patterns, the gaps.

    Identity: rung 4
vs the standard

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 answeredGoogle AnalyticsYour chatbot's tracking
Who is this person across visits?Anonymous session5-rung identity ladder, stitched
What did they say in WhatsApp?Not trackedFull thread, with timestamps
Did they pay?Goal completion if you set it upStripe webhook + receipt + customer record
Did the ad work?UTM session, maybe attributedUTM + CAPI send-back + agent qualification trace
Why did this customer not convert?You guess from the funnel chartReplay every message, see the exact drop-off
What did the customer say when they cancelled?Not trackedFull refund-handler thread + sentiment
Can I see one customer's complete journey?Cohort analysis if you build itOne click. Every signal on one timeline.
Are people asking for things we do not sell yet?Not trackedFAQ topic counters surface emerging demand
Integrations

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.

Stripe Payment events, refunds, subscription changes
Twilio SMS, WhatsApp, voice call logs
SendGrid Transactional email opens, clicks, bounces
Google Ads Click attribution via UTM + Conversion API send-back
Meta Ads CAPI conversion events (server-side, no creepy pixel)
Calendly Booking events, no-shows, reschedules
Google Workspace Calendar events, Gmail thread pulls (opt-in)
Slack Team notifications when a thread needs human eyes
Your existing CRM Salesforce / HubSpot / GoHighLevel / Pipedrive - all supported
Privacy, compliance, FAQ

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.