Question

The situation:

I'm using SiteCatalyst for a website on www.my-company.com. The website also 'contains' a number of pages that are on an entirely separate domain www.about-my-company.com. The look and feel of these pages is exactly the same as the pages on the www.my-company.com, so as far as the user is concerned, it is the same website. In SiteCatalyst we would like to report page views and conversions that take place on the separate domain as if they were on the main website (and thus being part of one visit/session).

How it works in Google Analytics

I have a Google Analytics background and there it is refered to as 'cross domain tracking'. 'Cross Domain Tracking' in Google Analytics basically breaks down to this:

1) Whenever the user follows a link from domain A to domain B, all the cookie information (including the session cookie) is passed to domain B using the query string.

2) A piece of javascript on the page on domain B interprets this URL, and writes the information to cookies (including a session cookie). The session is thus maintained allthough the user went from domain A to domain B.

My question:

Is this possible with SiteCatalyst as well, and if so how? I've been looking for documentation on this issue and I have the feeling I can't find it because it's either very easy or nearly impossible.

What I've found so far:

The only thing that sounds remotely like what I want to achieve is this:

...it is more likely that you would like to treat www​.abc​-rocks​.com as though it is no dif­fer­ent than www​.abc​.com. To accom­plish this, Site­Cat­a­lyst pro­vides an Inter­nal URL Fil­ters area in the admin con­sole.

http://blogs.adobe.com/digitalmarketing/analytics/admin-console-tips-inside-omniture-sitecatalyst/

However, I don't see how some setting in the SiteCatalytist interface can help visitors 'maintain their session'.

Any help would be appreciated, Thanks!

Was it helpful?

Solution

The quick and easy way to do it is to use a friendly third party cookie for both sites. For example, if you have www.about-my-company.com and www.my-company.com both using the tracking server of metrics.other-company.com, then any navigation across the various domains will maintain that same session for that visitor. The s.trackingServer value is where the visitor ID cookie will be set from.

Now if you are using first party cookies for each site, then you will have a problem. For example if www.about-my-company.com uses the tracking server of metrics.about-my-company.com and www.my-company.com uses the tracking server of metrics.my-company.com, then you are going to register a new session when that visitor crosses domains. Adobe currently does not have a published solution for this. I have seen some hacky solutions out there that do work, but none of them I would feel too comfortable in recommending.

Anytime a link gets clicked on your site, there is functionality in the s_code.js file that will check to see if any of the items listed in s.linkInternalFilters variable appear in that clicked link URL. If a value from the s.linkInternalFilters variable is found in the clicked URL then it is considered to be internal navigation, and nothing additional will happen. If none of the items listed in the s.linkInternalFilters variable are found in the clicked link's URL, then the code assumes that the visitor is leaving the site and an exit link call will fire. That's the only thing the s.linkInternalFilters variable is used for.

For every beacon that comes into SiteCatalyst, they will typically contain a current URL value, and a referring URL value. The values you enter into the Internal URL Filters in the admin console will be checked against the referring URL value from the beacon. If there is no match, then SiteCatalyst will consider that to be an external referrer, and its value will be used in the Referrers and Referring Domains report. That's the only thing the Internal URL Filters are used for.

OTHER TIPS

You've got a part of the answer.

You just need to :

1) update the s_code.js to integrate the right internal domain name : s.linkInternalFilters="tel:,javascript:,www.my-company.com,www.about-my-company.com" ;

2) go to your sitecatalyst admin console to add the new domain name on the section "Internal URL filters"

3) Tag the pages hosted on www.about-my-company.com with the same s_code and related page tracking as www.my-company.com

By default SiteCatalyst uses its own 3rd party cookie, and this will work as far as tracking visitors across domains. A "friendlier" method is to use your own 3rd party cookie. Note that Adobe refers to this as "first party cookie tracking" though in reality it's still 3rd party cookie tracking; the difference is that the cookie is stored on your own domain instead of Adobe's. Adobe does allow for setup of a first party cookie for each domain, but as vabeachkevin mentioned, this is really using multiple cookies and it will not carry visitor data from site to site.

Even if you use Adobe's or your own 3rd party cookie, this only carries over the visitorID. It does not carry over other cookies used by some of Adobe's plugins or other custom code you may have. Adobe doesn't have an official solution for this, though to be fair, GA doesn't exactly either.

There are basically three ways you can handle passing arbitrary data from one site to the other:

1) passing data as query string parameters for all links or redirects. This method is barely even worth mentioning. Unless all of your sites are super basic, have standard/hardcoded links, and you have very little data to pass, this solution just isn't feasible. Not even GA will automate appending their visitor cookie info to links for their cross domain tracking (you must make an explicit call to one of their functions on link click).

2) Use a tag manager system that has a persistent data layer. This is the easiest solution but most tag managers worth a damn and can actually do this cost money to use.

3) create your own solution. Basically the idea is to create a server-side script that will receive arbitrary data and put it in a cookie or somewhere server-side like a flatfile or database (you'd still utilize a cookie to store some kind of ID to lookup the data by in the latter case). Then the script would also output the arbitrary data as a javascript variable. The script would be included as a javascript tag include, to come before your omniture code. Generally in this initial include, you wouldn't pass anything to the script to be set; it would just output what's currently stored. Then you can base your SiteCatalyst code around those output values. Set local cookies, etc.. and then after the SiteCatalyst script execution, make another call to the server-side script, passing updated values if you have any. This method is somewhat tricky, especially when trying to convert cookie-based plugins to work with it, but it's doable (I'd done it).

As per the second response updating the scode, use the same scode on both domains. This will set two cookies and session id along with a fallback id.

The data will all be set to the same server cluster at adobe, the processing rules will then link these two session together.

If you want to test this add #crosssesiontest to the entry url of the first page, then go through a specific journey.

It will take circa 2 hours and this data will then show in the reports suite, build a segment to only show sessions that contained the URL with #crosssesiontest, you can then see your data.

This assumes that you are looking to send the data to the same report suite etc.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top