Associating anonymous and known leads across different domains | Community
Skip to main content
November 10, 2015
Question

Associating anonymous and known leads across different domains

  • November 10, 2015
  • 2 replies
  • 6677 views

Hi there,

We have a tricky issue linking our anonymous and known leads.

There are 2 domains that our website traffic travels between, the website and the online booking portal, and the Munchkin script have been implemented across both domains. Visitors come in through the website (Marketo capture information on what source they came from), and are then referred to the online booking portal to get a quote. When they are on the online portal, they have to enter in their email address through ha non-Marketo form to obtain a quote and they can even book in their job. This information is fed into our custom CRM and synced into Marketo in real time.

However, on our Marketo instance, it has been coming through as 2 separate leads. The visit to our website would have an anonymous lead created, tracking web page activity, how they got to the portal, how far they went onto getting a quote and booking in the job. The lead that’s synced into Marketo via the CRM containing the email address and quote information, comes in as a new lead, and won’t connect with the anonymous lead created. Therefore disabling us from associating webpage activity with booking activity, and calculating ROI.

Our developer have assisted us by adding a script so when the email address is submitted and synced into Marketo, it will now also send the cookie value in a new Marketo Cookie field (e.g. id:561-HYG-937&token:_mch-marketo.com-1258067434006-50277).

The anonymous and known leads are still not associating though. It feels like we’re missing a step because the Marketo Cookie field isn’t linked to anything in Marketo? Is there any solution to this issue...?

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.

2 replies

SanfordWhiteman
Level 10
November 10, 2015

You have the ingredients of a solution to this common problem, but you aren't putting them together. Having the cookie value stored on the lead is critical, but you also need to run a webhook to associate the lead with its cookie. Right now, the cookie is just any old field and has no inherent meaning.

November 11, 2015

Thanks Sanford for your reply. How do I run a webhook to connect these?

I have tried setting a webhook up as per another post, exactly as the post suggest (below is exactly what is in our instance, except munchkin id replaced), but it's still not associating. Should we adjust the payload template or encoding...?

SanfordWhiteman
Level 10
November 11, 2015

https://eva-test.salmat.com.au/ldn/csetOnline.do times out, then redirects, for me.  Is it configured to only accept connections from Marketo IPs? What's the underlying code run by that webhook?

Grégoire_Miche2
Level 10
November 11, 2015

Hi Chloe,

Just remember one thing : reading a cookie from domain A when the lead is navigating in domain B is considered as a Cross-Scripting (XSS) technique and is considered as extremely bad practices, if not illegal,  in many countries even if the 2 domains belong to the same company.

At some point, development is not everything. You may need to have people to fill out a form in each domain, so that Marketo can automatically merge the 2 leads based on email address. In order to create a Marketo LP in a second domain, you can use domain aliases (Add Additional Landing Page CNAMEs - Marketo Docs - Product Docs ​)

There is a lot said here as well :

-Greg

SanfordWhiteman
Level 10
November 11, 2015

Just remember one thing : reading a cookie from domain A when the lead is navigating in domain B is considered as a Cross-Scripting (XSS) technique

Reading a first-party cookie is not illegal in any country. At no time are you reading a third-party cookie, which is technically impossible in all modern browsers.

Note that every single Munchkin hit and Marketo form post transport a first-party cookie from your domain to Marketo's domain.

Compliance with EU cookie law is ensured by prompting for consent on any main document regardless of shared data control. This is not mutually exclusive with transporting cookie values.  It means that the person needs to consent on domain A and on domain B.

Believe me when I say that working in a highly regulated international financial company, we have vetted cookie policies.

At some point, development is not everything. You may need to have people to fill out a form in each domain, so that Marketo can automatically merge the 2 leads based on email address.

No, custom development fixes this problem just fine.

Grégoire_Miche2
Level 10
November 11, 2015

Hi Sanford,

I understand here that the issue is that, as the web site and the portal are on separate domains, the need it to have the Marketo known lead reconciled to 2 cookies (the website one and the portal one).

I understand that :

  • if, when on the portal, you read the cookie from the portal domain and send it to the CRM, that is fine indeed. From that, you can trigger a webhook to reconcile the portal cookie with the know lead.
  • Sending the website cookie value to the portal through an URL parameter then storing this cookie value in a field, then triggering the webhook would of course work as well. You might not be reaching a 100% reconciliation, though, as some people may come back later directly on the portal URL and the URL parameters would be missing the cookie value in this case, or worse, have a wrong cookie value, if people send their URL to someone else.
  • If you want to reconcile both the website cookie and the portal cookie, which what is intended here, you will have to combine the 2 approaches above. This means that you will have to store the 2 cookies (the one from the portal, the one collected from the URL parameter) in 2 separate fields and call the webhook twice (or create a webhook that can handle 2 cookies).

I just wanted to point out that reading the website cookie from the portal is invalid, because they are separate domains.

-Greg