Integrating Spektrix and Google Analytics: the latest method

Spektrix provide cloud-based software for sales, marketing, fundraising and admin teams in the arts. They have 340+ clients (at the time of writing) and we’ve had the pleasure of working with lots of them over the years, making sure their website analytics are configured as well as possible and helping them to make use of the data they collect.

The short version

We’ve found a new way of integrating Google Analytics with the Spektrix iframes. The data that arrives in Google Analytics is more accurate, meaning that:

digital marketing activity (in particular, conversion rates and revenue per traffic source/campaign) can be measured more reliably; and

general user behaviour can be understood better.

We’re recommending that all of our Spektrix-using clients move over to this method to improve their data capture.

This article goes into some detail about why a new method was needed and shows how we improved things for one client.

Some background information

Spektrix is very simple to integrate into your website. You embed their purchase pathway to provide a seamless user experience and it handles everything from account registration and seat selection, through to the completed transaction.

Of course, we want to capture that information in Google Analytics so that we can:

Understand and improve user journeys

Evaluate the effectiveness of marketing campaigns

The tricky thing about iframes

The Spektrix purchase pathway lives on the domain system.spektrix.com. You embed it on your site by way of an iframe.

Iframes can be troublesome for Google Analytics. To explain why, we have to get a little bit technical.

When you visit a website for the first time, Google Analytics generates a ‘client ID’ to identify you. The client ID is saved in your cookies and is then included every time data is sent off to Google Analytics (ie. with a page view, event, or transaction).

The thing is, cookies aren’t shared between different domains. So if someone goes to theatrewebsite.com and clicks through to buy tickets, the same client ID wouldn’t be used when content from system.spektrix.com loads in the iframe. Instead, GA creates a new client ID and treats them as a different person

This causes big problems:

you have inflated numbers of users and sessions, and

the session, along with any transaction, has a traffic source of ‘theatrewebsite.com’ or ‘direct’ rather than the actual source, making it impossible to evaluate marketing campaigns.

This is clearly no good.

The old way to integrate Spektrix and Google Analytics

What we need is a way to pass the same client ID from theatrewebsite.com to system.spektrix.com so the user is recognised as the same person on both domains.

The good news is that this is possible. There’s a method documented by Simo Ahava in this blog post and it’s the one that you’ll find in the official Spektrix documentation.

The bad news…

We found that this worked most of the time, but not always. There were two giveaways:

An abnormally large % of revenue was being attributed to ‘direct’ (as compared to our other clients), and

Lots of those ‘direct’ sessions started on the system.spektrix.com domain, which shouldn’t really be possible.

Something was up. One explanation was that the code required in this method was running before the Spektrix iframe had a chance to load, meaning that it was being missed.

The new way to integrate Spektrix and Google Analytics

This new method has also been explained in detail by Simo Ahava and it uses a Google Analytics feature called customTask. It improves on the previous method by checking the page periodically until the Spektrix iframe is found, and then sending a hit off to Google Analytics. If it doesn’t find it then it times out harmlessly.

A few notes:

Don’t forget to set allowLinker to ‘true’ in your GA settings, and add your domain and spektrix.com to your cross domains and referral exclusion lists.

You might only want to use this on pages where the Spektrix iframe is present to avoid running unnecessary code, but it’s not really a big problem.

If you’ve got a complicated Google Analytics deployment (which is pretty rare for most Spektrix users, but you never know) then do extra testing to make sure there are no hiccups.

We’ve worked with lots of fantastic Spektrix users including Belgrade Theatre, Bridge Theatre, Bush Theatre, Hackney Empire, Marlowe Theatre, Oxford Playhouse, Polka Theatre, Royal College of Music, Royal Court, Saffron Hall, and Sheffield Theatres. We can help you too.