3 Biggest Mobile Ad Tracking Pitfalls Explained & How to Avoid them

Missing 30% of Mobile Revenue

3 Biggest Mobile Ad Tracking Pitfalls Explained & How to Avoid them

Mobile advertising has a big problem which hardly anyone talks about: tracking is a nightmare. Wondered why it’s been so hard to show a healthy ROI for your mobile investment? By the end of this article, you will realise that you’re probably losing 30% of your tracked revenue due to leaky tracking.

Continue reading 3 Biggest Mobile Ad Tracking Pitfalls Explained & How to Avoid them

The Ultimate Guide on Personalising your Website for FREE (Part 1)

Good Marketing is all about creating a customer experience that’s relevant to a person’s intent. It’s the reason you turn to Amazon for one product, but end up buying 3. It’s why you love browsing your Netflix, and turn to Spotify to discover new tunes.

But you’re probably not working for Netflix, and don’t have a team of data scientists and programmers developing a recommendation engine. So where do you start creating an experience that’s relevant to your visitor’s intent?

Segmentation is standard in email marketing, even paid advertising like Facebook. But what about your website? Tons of data can be leveraged, even right from the first session (referral, campaign, landing page, location, screen size, operating system…).

But isn’t overwhelming? Where do you get started?

If you don’t want to spend over $1000 per month for solutions like Optimizely Pro or Yieldify, you’re in the right place. I’ll show you exactly how to create a more personal user experience while in turn boosting your conversion rates.

And the best? You’ll be able to do it all for free, 100%! (your boss will love this)

And I’ll even show you exactly how much $$$ you’re making because of it (your boss will love this even more).

What I am going to show you in the complete guide, step-by-step, with no coding experience required:

  • How to show a different homepage to returning users based on their intent (I’ve seen it boosting conversion up to 30%)
  • How to target cart abandoners with a specific messaging onsite (boosting revenue up to 60%)
  • Change the headline on your landing pages based on user intent
  • These are just example use cases – after reading this article, you will be able to use the same framework to personalise almost everything on your website.

    The guide is split into 2 parts:

    PART 1: Setting up the infrastructure: Tracking, User IDs & Split Groups
    PART 2: Personalised Parts of your Site based on your Visitor’s Intent (will be released soon)

    PART 1: Setting up the infrastructure: Tracking, User IDs & Split Groups

    1. THE PERSONALISATION STACK – Tools you need

    GoogleTagManager (GTM): It’s the most versatile tool and does a lot more than just ‘managing tags’. In order to benefit from this guide, you’ll need to have GTM installed on your website.

    Analytics tool: I recommend Mixpanel (starts free), but you can also use the free version of Google Analytics.

    That’s all that’s needed! Even though a little bit of brain might be helpful too 😉

    2. THE BASICS – Assigning a unique ID to your visitor, and creating a split testing logic

    Let’s get started with this. In order to create unique Unique User ID (UUID) with Google Tag manager, I am using Abhishek Tiwari’s code as a basis, which he published in this great article.

    Firstly, we need to assign every visitor to our website a random unique user ID (UUID) and store this ID locally for the user. This will allow us to maintain settings across different sessions.

    The old way to do this would be to drop a cookie on the visitors computer. Cookies have been around since the inception of the web, and have become limited in terms of their functionality (for a great overview, check Simo Ahavara’s article here).

    So let’s save some carbs and use a more modern solution: the Web Storage API.

    Note: That means old browsers such as IE 7 & older won’t support this. But I wonder if people using such old browsers would even notice personalisation? I am fine to make this sacrifice (if you’re not, the same article from Simo explains a fallback method).

    Firstly, head to Google Tag Manager and create a new Tag and call it for example “UUID Assignment”.

    Name your UUID Tag
    Name your UUID Tag

    Then we’ll use the following code based on Abhishek’s code:

    What does this code do?

    (1) If a user has no ID assigned, this script will run
    (2) It generates a random ID based on some rules
    (3) It then saves this ID in the localStorage of the Web Storage API under ‘UUID’ in the localStorage.

    Pretty simple, right?

    Next, we need to define a trigger for this code. We want to assign this UUID to every user, but only on their first page view. The way to do this in GTM is not very straightforward, yet quite easy.

    We set up a new trigger, and the condition is that the ‘referrer’ does not contain our domain. So the user must have come from somewhere else before, as opposed to navigating our site.

    Here’s how this looks like in the case of my site, growth-consultant.com:

    Perfect, that was easy. Save it, and preview your changes to try it out!

    Activate the Preview mode – you should see this:

    Head to your website and…

    Using Chrome and Firefox, right-click and select ‘Inspect’ (Chrome) or ‘Inspect Element’ (Firefox). Then click on ‘console’.

    Enter ‘localStorage.getItem(“UUID”)’ in the console, press enter. You should see your UUID!

    Yay! 😄

    So what’s next? Well, I promised you we’d be able to measure the success of your personalisation activity easily, which we can do by splitting the traffic. How do you do that?

    Firstly, we need to segment our visitors in different randomly assigned groups (e.g. A/B).

    Well, we just created a UUID with random numbers, so let’s go ahead and use that. We only need to amend the tag we just created slightly.

    We’ll be assigning our users to 10 different segments simply by using the first digit of their UUID, which can be a number between 0 and 9.

    This javascript does the trick:

    And in order to make it easily accessible, we’ll also push this number to the dataLayer:

    And here’s the final code:

    Wasn’t so hard right?

    In order to make this work, we also need to create the variable ‘splitGroup’ in our dataLayer.

    GTM makes it quite easy – just go to “Variables” and add a new DataLayer Variable with the name “splitGroup”:

    Almost done now! You’ve probably noticed that the tag we’ve created only runs on the user’s first visit. However, we need to make sure the splitGroup variable is available for us on every page view, so we need to create one last tag that makes sure that is the case.

    Head to your tags and create a new HTML tag and call it for example “UUID to DataLayer”.

    The code you’ll find below has 3 simple elements:
    1) check if the UUID is set (only continue if it is)
    2) set variable splitGroup based on the UUID
    3) push splitGroup to the dataLayer

    Here’s the code:

    Let’s try it out, preview the container and go to the browser of your choice. In the console, type in:

    “dataLayer”. Press enter.

    You will now see everything that’s in your dataLayer (probably a lot more than I’ve got in this example):

    You can see that the splitGroup is set correctly. Given it’s position in the array, you can also get the value directly by typing in:

    “2” because it’s the 3rd item in the array (count starts at 0).

    Yayayay! Now the foundation is all set. In the next article, I’ll explain how to bring this to life and make changes to your website based on the segment of your user. It’ll go live on soon!