Can Marketo identify anonymous website visitors?
Adobe Marketo Engage tracks anonymous visitors as cookies, not people. Only a form fill, an email click or an API merge turns one into a name.
No, not as people. Adobe Marketo Engage tracks an anonymous visitor as a browser cookie and only turns that record into a name when the person clicks a Marketo email link, fills a Marketo form, or is merged via the API. The Web Personalization add-on can resolve the visitor's organisation from their IP address — a company, not a human.
Last verified: 2026-07-29. Every quote below is from Adobe's own Experience League documentation on that date, with the URL inline.
Two naming notes before anything else, because they cause real confusion in stack conversations. Marketo is Adobe Marketo Engage — Adobe acquired it and it has been an Adobe product for years. And "RTP" (Real-Time Personalization) is the older name for what Adobe now documents as Web Personalization. If a vendor comparison you are reading still says "Marketo RTP" as though it were a separate company's product, it is out of date.
I'm Dag, co-founder of ContactLevel. We do not sell anonymous visitor identification and we do not compete with Marketo, so this page has no horse in the race.
How Marketo treats an anonymous visitor
Marketo's model is form-first, and it is worth understanding as an architecture rather than a shortcoming.
The first time someone lands on a page carrying the Munchkin tracking code, Marketo creates an anonymous activity and tracks it against a browser cookie. That cookie is the primary key. There is no name attached to it and no attempt to find one.
The anonymous record becomes a person on exactly three events, per Adobe's documentation:
| Event | What happens | Who initiates it |
|---|---|---|
| Clicks a link in a Marketo email | Anonymous activity merges into the existing person record | The visitor |
| Fills out a Marketo form | A known person record is created and prior anonymous web activity is associated to it | The visitor |
| Merge via the Munchkin or SOAP API | You explicitly tie an anonymous session to a known record | You |
Adobe adds one caveat worth knowing before you build reporting on it: when the merge happens, "custom field values will not transfer over" from the anonymous activity.
Notice what is absent from that table: any path where Marketo resolves a stranger. There is no passive identification step. A visitor who never fills a form and never clicks a tracked email remains a cookie forever, no matter how many pricing-page visits they rack up.
What does Web Personalization actually identify?
This is where Marketo does deanonymize something — just not a person.
Adobe's Web Personalization FAQ is direct: "RTP identifies the visitor's organization name, industry, location and digital behavior based on their IP address and other sources in real time" (Adobe Experience League, KA-28295, read 2026-07-29).
The same document states the scale of the problem it was built for: of the people arriving on your site, "most are anonymous (average of 98%) and leave the website without giving their contact details."
That 98% is Adobe's own number and it is the honest framing of every form-first platform's ceiling. Web Personalization does not close that gap by naming people — it closes it by letting you personalise the page for a segment defined by the visitor's organisation, industry and location.
And the failure mode is documented in the structure of the product itself. The Web Personalization overview organises visitor data "by identified Organizations and then Internet Service Providers." Those two buckets are the whole story of reverse IP: the visitors whose employer owns their IP range, and everyone else. IP targeting for B2B covers why the second bucket has been growing since 2020.
Can Marketo identify anonymous website visitors? The capability table
| Marketo Engage core (Munchkin) | Marketo Web Personalization | RB2B | ContactLevel | |
|---|---|---|---|---|
| Anonymous IP → company | No | Yes | Yes | No |
| Anonymous IP → named person | No | No | Yes, US traffic only | No |
| Names a returning known contact | Yes, once cookied via form or email click | Yes, inherits the known record | n/a | Yes, if in your audience |
| Requires the person already be in your database | Yes | No | No | Yes |
| Geography | Global | Global | Person-level US only | Strongest in the US |
| Primary data source | Munchkin cookie plus form and email events | IP address "and other sources" | Identity graph on browser/cookie signals | Your own audiences plus identity enrichment |
| Published coverage figure | None — 98% of visitors stay anonymous | None | Contact-level 15-20% (Pro), 35-45% (Pro+) | n/a — 70-99% is a list-to-platform match rate |
| Sold as | Part of Marketo Engage | Add-on capability within Marketo Engage | Standalone | Standalone |
The column that matters is the second one from the right. If your requirement is "tell me the name of a person who has never given us their details," nothing in the Marketo stack does that, and no configuration will make it.
What to pair Marketo with
→ For named individuals on US traffic. RB2B or Datamoon, running alongside Munchkin, pushing resolved contacts into Marketo as known people. Read the coverage figure for the tier you would actually buy: RB2B publishes 15-20% contact-level on Pro and 35-45% on Pro+ (rb2b.com/pricing, 2026-07-29) against a 70-80% homepage headline that counts company matches too.
→ For company-level outside the US. Leadfeeder / Dealfront is the common European answer, with a published €0 tier. Person-level is a US product almost everywhere because of the legal asymmetry — deanonymizing website traffic walks through the ePrivacy and GDPR position.
→ For account intelligence at enterprise scale. 6sense or Demandbase, both of which are also company-level, both of which cost a great deal more than the Web Personalization add-on.
→ For advertising to the people Marketo nurtures. That is the gap below.
Where ContactLevel fits, and where it does not
Same honest boundary, stated up front: ContactLevel does not identify anonymous net-new website traffic. We name a website visitor only when that person is already in one of your ContactLevel audiences — synced from your CRM, uploaded, or built in-platform. There is no ContactLevel pixel that puts a name on a stranger.
Structurally, that makes our identity model closer to Marketo's than to RB2B's: both of us work on people you already hold. The difference is what we do with them.
Marketo emails and nurtures them. What Marketo cannot do is advertise to them reliably, because the work email in a Marketo person record is not the identifier LinkedIn, Meta, Google, Reddit or X match on. Nobody signs up to Meta with their work email. Export a Marketo smart list, upload it raw to an ad platform, and a large share of it silently fails to match — which is the single most repeated explanation I give on sales calls.
Contact-level data enrichment maps the business identity to the personal identifiers ad platforms actually match on, which moves a list into the 70-99% range. That figure is a list-to-platform match rate and is not comparable to a visitor-ID coverage percentage; B2B match rates explains why the two get conflated.
On measurement: we report clicks and website visits at the individual person level. We do not report per-person ad impressions — that is not in the product today and we are not publishing a date for it. What we track is the statement of record.
Published pricing is on /pricing: $1,000/month for 10,000 net-new contacts, $3,000/quarter for 50,000, $10,000/year for 200,000. 14-day trial, 10,000 free contacts.
Where to go next
→ Can HubSpot identify anonymous website visitors? — the same question for the other big automation platform, which answers it differently.
→ Who is visiting my website? — the plain cross-vendor answer with prices read off live pages.
→ Deanonymizing website traffic — mechanisms, honest coverage numbers, and the 2026 GDPR and CCPA position.
→ IP targeting for B2B — why the "Organizations, then Internet Service Providers" split in Marketo's own UI is the whole reverse-IP story.
→ Contact-level data enrichment — the step between a marketing automation list and an ad audience that matches.
→ B2B match rates — the three different things called "match rate" and how to test them.