Using Munchkin on Multiple Domains

Level 7

You can use Munchkin on any page you like, but the thing to remember if you have multiple products or divisions in your company is that Munchkin cannot automatically track a lead across domains.  This only applies to top level domains though, not sub-domains.  So, a lead could be tracked through

www.MyProduct.com

http://www.myproduct.com/and

pages.MyProduct.com

but couldn't automatically be tracked through

www.MyProduct.com

and

www.MyOtherProduct.com

So how does munchkin keep track of your leads?

When a lead visits any munchkin tracked page on a domain they've never visited, the system will cookie their browser and create an anonymous lead record in your database.  This allows Marketo to begin gathering and saving information about the lead and their activities even before you know who they are.  It also allows you to begin scoring the lead record, or running them through any other campaigns you might be using to evaluate leads.  Keep in mind that anonymous leads cannot go through all flow steps though(Send Email for instance), and they cannot be made members or a program.  You can see messages about this in the results of any campaign where anonymous leads have qualified for the smart list but couldn't be processed through some steps.

Tracking anonymous leads is a bit like having someone come into your store and look around without really saying or buying anything.  For this reason, it's a good idea to give them a way to tell you who they are.  The main way of course, is by giving them a form they can fill out, which will then convert their anonymous lead record into a known lead record.  Now you can really start to market to them, and you have all of their past activities to see what they've been up to!

Next we'll look at how a lead is tracked if they go to one of your other munchkin tracked pages on another domain.

If our lead from above visits another domain that is being tracked with your munchkin code, the munchkin there will track the lead as anonymous to begin with.  The same process applies to this new anonymous record.  All activity will be recorded, and it can still be scored and acted upon by some flow steps.

If the lead identifies themselves on the new domain by filling out a form using the same email address they previously used on the original domain, then munchkin is able to merge the anonymous record with the original record.  But wait!  There's another way!

Leads can also identify themselves on a new domain by clicking links to that domain in emails that you've sent from Marketo. Each link in your email is wrapped with tracking information specific to the lead the email is sent to, so you can use Marketo to send out invites for known leads to your new store(domain).  By doing this you're saying, "Hey, we know you from our first store, now come visit our new store and let us get to know you there too."  As with the form fill-out, once they click the tracked link Marketo can merge the known and anonymous records and begin tracking the lead's activities in both domains under a single record in Marketo. 

This same process would need to happen for every domain you're using your Munchkin on, in order to track each lead in all domains under a single record.  What we usually recommend is a tagging campaign for each of your domains where you send email(s) from Marketo with a link for each domain. You'd also want to have a form on each domain that leads could fill out.

4769
33
33 Comments
Level 10 - Community Moderator

Sure, as long as you can modify the exit link on Domain A to include the current _mkto_trk cookie value from A in the URL on Domain B.

Thanks Sanford.

Hi John,

Our domain A and domain B represent independent products, yet some users are interested in both. Primarily, we had them tracked on domain A, and it worked well - for a known lead, all the info was recorded and stored, including visits by page. However, when the domain A lead goes to domain B and fills out a form there - I don't start to see his activity. I only see he filled out a form, but no page visits.

Same thing when a totally new anonymous lead first comes to domain B and fills out a form there - although he's now become a known lead, I don't see his web activity: http://prntscr.com/irggn7

But when I send this lead an email and he clicks a link to domain B, then the attribution works, and I start to see all his past web activity on domain B. See here: http://prntscr.com/irgi5l

But it doesn't work with forms - they don't allow me to see their pages visited. Do you know how this can be fixed?

The domain B forms are hosted on info.domainA.com (CNAME for a Marketo LP) and are embedded on domain B pages as iframes.

P.S. Apparently, my Marketo tech consultant was reluctant to answer this question.

Level 10 - Community Moderator

Please provide your real domains and a link to one of your malfunctioning forms.

Hi Sanford, thank you for your reply. For example,

Watch the Webinar – anyLogistix Supply Chain Optimization Software (Landing page hosts on info.anylogic.com).

We use this way http://developers.marketo.com/blog/merge-anonymous-visitor-activity-when-visitor-fills-out-form/ , but not sure, that is the most proper way. After fills out the form we call associateLead function.

Level 10 - Community Moderator

Nikita Nefedov​ you MUST TURN OFF this functionality immediately.

You have just opened a gaping security hole in your site. Your public PHP endpoint is exactly the same as exposing your Munchkin secret key in the browser, since you allow any anonymous user to encrypt using the key.

The ONLY time it is safe to use associateLead is if the session has been authenticated via other means, i.e. a human who knows their own password.

Thank you Sanford! I turned it off. What is possible ways to do it correct?

Level 10 - Community Moderator

The only to safely use associateLead is if the person has already proven their identity by authenticating to another system.

For example, if somebody logs into your e-commerce system using a confirmed email address and password, then you can pass the session ID (say a PHP or Java session cookie) to an external service, which can then confirm their session is auth'd and give you back the associateLead token.

The only to safely use associateLead is if the person has already proven their identity by authenticating to another system.

Unfortunately, this is not our case, we collect data only without authentication, so we refuse to use this method (associateLead).

We want to find an alternative solution for looking at user activity, if such exists.

Thank you Sanford very appreciate your help.