Google Analytics - Tracking conversions on a third party site - javascript

What is the current best-practice to track conversions which happen on another domain?
I have 3 affiliate links, which take users to a multi-page form on another site. The conversion happens when they reach the thank-you page.
Is a destination goal, using the URL of these sites /thank-you page appropriate. I can place a tracking pixel on these sites.
I could create a click event in Analytics and use that as the goal by which to measure conversions, but the user hasn't necessarily converted at that point.
Or is cross-domain tracking needed, such as:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXX-XX', 'auto',{'allowLinker': true });
ga('linker:autoLink', ['theirdomain1.com', 'theirdomain2.com'], false, true);
ga('require', 'linker');
ga('send', 'pageview');
</script>
Add the following to analytics script on partner site:
ga('create', 'UA-XXXXXXX-X', 'auto',{'allowLinker': true });
ga('require', 'linker');
ga('linker:autoLink', ['mydomain.com'], false, true);
Finally, if I place a tracking pixel on the sites for the /thank-you pages, how will I know the page views originate from referrals from my domain?

Cross-domain tracking would be a better option that you will be able to see where a user gets dropped and also create a goal for this conversion.
The client-id would remain same with cross-domain tracking so you can analyze a user's full journey.

Related

Google Analytics not working with Barbajs

Trying to use the latest google analytics tracking code in a site that uses Barba JS but it will not track past the first page, ie the path of the user, any ideas anybody?
The reason it is only working on the initial page is that the default GA snippet implemented using gtag.js only runs once after load. Since you're using it in a SPA setting, you need to manually re-send the page data when you route. Looking at the barbajs documentation, I think it'll be something like this:
// define a global hook, using afterEnter, but you can adjust to enter, beforeEnter, etc as you see fit.
barba.hooks.afterEnter((data) => {
// this hook will be called for each transitions
//data.current.url is the page path.
gtag('config', 'UA-#######-1', {'page_path': data.current.url});
});
use full code provide with google annalitics
https://developers.google.com/analytics/devguides/collection/analyticsjs/?hl=en
in you JS add
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');

analytics.js URL Calls

I use analytics.js on a html page behind a hotspot. So the internet connection is limited to certain URLS.
I need to open on walled garden all the URLS used by analytics.js to make work correctly google analytics.
I did add:
ssl.google-analytics.com
*google-analytics*
*doubleclick*
But still need more URLs.
I've tested that adding
www.google.es and www.google.com analytics works ok and no errors appears on the urls called by analytics.js but I can NOT open www.google.es and www.google.com for other devices uncompatibility so I need to know the URLs need to be opened to have analytics working ok.
I found reading analytics.js that there is:
https://ampcid.google.com
https://www.google.%/ads/ga-audiences
google.com(:\d+)?\/optimize\/opt-launch\
I did add this URLs + Folders on walled garden but still not enought.
Can anyone help me on build all the URLS+Folder list used by analytics ?
Thanks a lot.
Added Image I can see on Network from a browser:
Added 2:
I have this script:
<script>
(function(i,s,o,g,r,a,m)
{i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-
analytics.com/analytics.js','ga');
ga('create', 'UA-48205710-1', 'socialwibox.com');
//ga('send', 'pageview');
</script>
And have problems just when calling ga('send', 'pageview');
without ga('send', 'pageview'); i don't have problems.
Oscar.
The basic endpoint for Google Analytics collecting data is
POST/GET /collect HTTP/1.1
Host: www.google-analytics.com
Additionally, demographics data may go to
http[s]://stats.g.doubleclick.net/r/collect
analytics.js script is loaded from
http[s]://www.google-analytics.com/analytics.js
if gtag.js or google tag manager is used they are loaded from
http[s]://www.googletagmanager.com/gtag/js?id=XXXX

Cross Domain Tracking in Google Universal Analytics with Javascript Links

So I have a scenario where I am constantly getting a good number of self-referral traffic to my website. I investigated it further and believe it to be a case of an issue with my cross domain tracking (as I use a 3rd party shopping cart).
What I can't seem to figure out is what I have wrong and why it isn't working. My specific scenario looks like the following
MainSite.com Analytics Code
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXX210-1', 'auto', {'allowLinker': true});
ga('require', 'linker');
ga('linker:autoLink', ['mainsite.com','checkoutsite.com'], true, true);
ga('require', 'displayfeatures');
ga('send', 'pageview');
</script>
CheckoutSite.com Analytics Code
<script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXX210-1', 'auto', {
'allowLinker': true
});
ga('require', 'ec');
</script>
As for the setup options:
The following domains are added to the exclusion referral list in GA
mainsite.com
checkoutsite.com (the actual checkout is on a subdomain of kiosk.checkoutsite.com but this shouldn't make a difference AFAIK)
mainsite.com 301 redirects to www.mainsite.com
As far as I can tell the 3rd party checkout JS script is adding link decorators as seems to be required Edit: Have confirmed as per the comments below
The links to the checkout cart are Javascript based which result in a iframe popover. They look like the follwing:
<a class="eztixKioskLink tourTemplateId_XXXX" href="javascript:void(0);">
<img alt="" src="http://www.mainsite.com/buy.png" />
</a>
However, I still appear to be getting self-referrals and am completely unable to figure out why. Is there something wrong with my code or my setup? Is there something else I should be looking for?
Any help would be hugely appreciated!
You should be good code wise. You can also exclude those domains as referrers:
https://developers.google.com/analytics/devguides/collection/analyticsjs/cross-domain#selfreferrals
As you go through the flow yourself do you see #_ga hash's being appended? If not you'll need to reverse engineer the javascript link clicks as the outgoing clicks aren't getting decorated:
https://developers.google.com/analytics/devguides/collection/analyticsjs/cross-domain#linkerparam

Cross domain tracking in Google Analytics

I am first time posting something here...
Issue:
We have moved to Universal Analytics few month back and since then form submission conversion attribution is broken. Almost all conversions (form submission) are attributed to direct traffic. Actually we have our confirmation page on third domain (now.eloqua.com) but it has the same code as we have on the website. But I guess due to different domains, cookies are getting drop in transition from main website to the confirmation page as analytics.js does not set up _utm cookies
Possible Solution, is I guess using Cross Domain Auto Linking (auto link plugin), We have implemented below code on both main website page and Thank you page (eloqua.com).. but issue still persists. Can somebody suggest what wrong I am doing here...
function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-xxxxxxx-X', 'auto',{'allowLinker': true});
ga('require', 'linker');
ga('linker:autoLink', ['eloqua.com']);
ga('send', 'pageview')
As you are saying that your conversions are form submission you might have to add another parameter to the call to the autolinker plugin (this is as per documentation, I have not tested this):
Cross Domain Auto Linking for Forms
Universal Analytics also includes the ability cross domain link
elements automatically. ga('linker:autoLink', ['destination.com',
'dest3.com'], false, true);
Where the third parameter (false) tell the autolinker to not use the anchor/hash and the fourth parameter tells it to auto-decorate form action urls (else only links get decorated), so this is what you need. You should see a _ga parameter appended to the urls on arrival at the other domain if this is working correctly.
Plus I'm reasonably sure that you need to add both domains to your referral exclusion list.

AJAX based contact form 7 event tracking for new Google analyics code

So, we have a couple of wordpress websites. For one of the them the analytics code is of an older version (gaq.push) format.
For this particular website, we have the tracking set up just fine and Google analytics goals are properly working. In the "additional setting" section of contact form 7 (via WP-Admin), we are using:
on_sent_ok: "_gaq.push(['_trackPageview', '/rfp-form-thank-you']);
However, for the other one, the newer version shows up which is ga.js based and the format looks like this:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-4248211-9', 'www.website.com');
ga('send', 'pageview');*
</script>
Now, the issue is: we tried following the method as we did for the other one but that doesn't seem to work. It may be because the analytics code is different this time.
How can we set up proper form submission event capture so that goals can be fulfilled in Google Analytics?
The method used in the question is in fact a virtual pageview, not an event. The correct syntax is as follows for virtual pageviews under the new Universal Analytics library:
ga('send', 'pageview', '/enter-new-pageview-here');
For CF7, you'd use the above syntax and then enter "/enter-new-pageview-here" as a destination URL goal, which is what I believe the qustioner is trying to achieve.
Reference
Syntax is different (and your example is in fact analytics.js based, not ga.js):
ga('send', 'event', 'category', 'action', 'label', value);
Documentation

Categories