Connect with us


How to Avoid Duplicate Conversions and Recreating the Conversion Funnel for GA4



20 Google Analytics Alternatives - Moz

The author’s views are entirely his or her own (excluding the unlikely event of hypnosis) and may not always reflect the views of Moz.

As you’re probably all too aware at this point, GA4 is coming. Old versions of Google Analytics will be switched off for pretty much everyone come June 2023.

While GA4 is improving all the time, there are quite a few things that people are used to seeing in old versions of Analytics which, at the very least, take a bit of creativity in the new world.

One example is how conversions are handled. In the old versions of Google Analytics, a conversion could only fire once per session. In GA4 conversions are just another kind of event, so it’s possible for a conversion to fire multiple times in one session.

Problem is, you might be very interested if someone signs up via your contact-us form once. But that person might reload the thank-you page, or sign up for something else via a different form on the site. That doesn’t mean you necessarily want to track two conversions.

Speaking of signing up via different forms, on some websites, users may wind up on the same thank-you page having taken very different routes to get there. If we don’t have that much control, and we’re having to rely on thank-you page views to track conversions, it can be hard for us to separate out different kinds of conversions.

In old versions of GA you could use funnels with a “required” step. You might have one goal with a funnel requiring your event page, another goal with a funnel requiring a different page, and rely on them to give you different conversions. There also isn’t an obvious way to do this in GA4.

In this post, I’m going to take you through how to:

  • Avoid double counting in GA4.

  • Automatically ignore suspicious conversions (like people landing direct on the conversion page).

  • Recreate the kind of funnels we expected in Universal Analytics (in fact we’ll make them better).

I’ll take you through a few bits in GA4 and others using Google Tag Manager. The GA4 approach is more straightforward, but the Tag Manager is more robust and can help you make sure that all of your conversion pixels are showing roughly the same information (because we’re long past the point where GA is the only place we’re recording conversions).

Managing conversions in GA4

This section is about changes we can make purely through the GA4 interface. As long as you’re sending your page views conversion events to GA4 you should be able to use these tactics without any code changes.

However: There are some limitations of doing things through GA4, for example it can mean that your GA data doesn’t line up with conversions recorded via other platforms.

Avoiding double-counting

Julius Fedorovicius (of Analytics Mania fame) has produced a fantastic guide to making sure that conversions are only recorded once per session.

You should have a read but broadly:

  • You create a custom audience based on a sequence that begins with “session_start”

  • You fire an event when someone enters that audience

  • You use that event as your conversion.

No surprise that Julius has come up with a really smart way to handle the problem of double-counting:

1679342730 672 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

If you’ve created Segments in Universal Analytics Audience sequences in GA4 look very like the sequences we used to create for Segments. However, the old Segments were just a way of visualizing data, whereas Audiences in GA4 are a way of grouping data. We can use Audiences to create something new.

That distinction is important because we can do cool things like fire custom events when someone enters an audience (which Julius makes use of in this solution).

1679342731 617 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

Universal Analytics Segment sequence creator

1679342731 320 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

GA4 Audience sequence creator

The limitations of using Google Analytics audiences

This isn’t really a limitation as far as GA goes but it’s a consideration nonetheless. Julius’ solution is great for making sure we’re not double-counting conversions in GA, but GA probably isn’t the only way we’re recording conversions.

The average site probably has a bunch of separate conversion tracking pixels and those could end up double-counting conversions.

For example: Facebook and Google both describe how they avoid double-counting conversions, but their solutions largely rely on exactly matching transaction IDs, and even if they’re handling it okay, there’s a bunch of smaller fish out there that are also offering conversion tracking and can need a bit more hand-holding.

If we want to make sure that we’re only recording one conversion per session, it’s useful to make sure all of our conversion tracking is working in a similar way. Tag Manager is a great solution for that (I describe a solution in the Tag Manager section below).

You can also run into problems if, for example, your confirmation page is somehow indexed or bookmarked by users — people landing directly on it can lead to weird unexpected conversions. We can also use Tag Manager to guard against that a little bit.

Recreating the conversion funnel

Sticking with the GA4 interface for now, we can also adapt the AnalyticsMania approach to create our funnel-based conversions too by adding additional steps to the sequence.

For what it’s worth, conversion funnels are not the ideal way to categorize conversions. If you can use anything more direct (like the id of the form they’ve filled out, a separate thank-you page) then that’s a much more reliable way to categorize conversions. That said, we don’t live in a perfect world, and sometimes there isn’t the option to completely rebuild your conversion process.

In Fedorovicius’ example we just have two steps in our audience sequence:

  1. Session_start
    Indirectly followed by

  2. Conversion

Which basically means “someone lands on the site and then at any point during their session, they convert”.

To recreate the goal funnels you might be using in Universal Analytics – we can just add another step to the sequence. For instance:

  1. Session_start
    Indirectly followed by

  2. Visiting our event_page
    Indirectly followed by

  3. Landing on our thank you page/converting

That should mean we can create one conversion which is: Users who went through our event page and then converted.

1679342731 649 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

And another conversion which is: Users who went through our sponsorship page and then converted.

1679342731 221 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

There are some limitations here though, for example, what if someone:

  1. Landed on the site

  2. Visited our event page

  3. Then visited our sponsorship page

  4. Converted using the form on either.

They would fulfill the criteria for our event conversion and the criteria for our sponsorship conversion. We’d record a conversion for each and we’d end up double-counting after all.

This is also a limitation of the old Universal Analytics funnels: Just because a step in the funnel was required doesn’t mean the user can’t wander off around the site between that step and their final conversion. So, if it’s any consolation, this isn’t any worse than old Universal Analytics funnels (but we can still do better).

The problem with using “directly followed by”

You might say “well that’s easily solved — at the moment the sequence says is indirectly followed by and we can just change that to is directly followed by”.

1679342731 48 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

Surely that would mean that someone is on the sponsorship page and goes directly from the sponsorship page to the thank you page, right?

Unfortunately that’s usually not what “directly followed by” means because there’s all kinds of things that can get recorded in analytics which aren’t page views.

For example if someone lands on the sponsorship page, and then scrolls down and lands on the thank you page, the thank you page view doesn’t directly follow the sponsorship page view. It goes:

  • Page view: sponsorship

  • Scroll

  • Page view: thank you

So “directly followed by” isn’t an easy solution.

How about “within x minutes”?

GA4 has a really cool feature in the sequence builder where we can set a timer in-between steps. Even outside of tracking conversions within a session we can use it to keep track of cool things like people who came to our site, didn’t convert that time, but came back and converted within the next couple days.

Jill Quick has been talking a bunch about how powerful these options are.

We could use this to say something like: person landed on our event page and then landed on our thank you page within 10 minutes.

But as I’m sure you’ve guessed, that ends up being a kind of arbitrary cut off, maybe someone spends some time thinking about how to fill out our form, or maybe someone really quickly goes to one of our other pages and converts there. This could be better than the basic funnel, but we could also end up ignoring completely legitimate conversions.

1679342731 289 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

So what do we do?

Using GA4 sequences for this is kind of fine, as I say above it’s certainly not worse than Universal Analytics, but we could do better with Google Tag Manager.

Managing conversions in Google Tag Manager

These approaches require you to run all your tracking via Tag Manager. Though even aside

from this, if you’re not already using Tag Manager, I’d advise you to look into it!

Since we need to keep track of what’s happened to a user across multiple pages, these solutions are also going to make use of cookies. In case that fills you with dread, don’t worry:

  • I’m going to walk you through how to create and delete these cookies (it takes a little Javascript but it’s copy-paste and easier than you think!)

  • These aren’t the kinds of cookies designed to give away people’s information to other services.

To reiterate what I say above: While this approach takes a bit more effort than just doing things through Google Analytics it allows us to do two things:

  1. Make sure all of our various tracking tags are firing in the same way

  2. Have more fine grained control, particularly if we’re trying to categorise different paths to conversion.

Avoiding double-counting

To recap what we want to do here, we want to make sure that if someone visits our site and converts we fire a conversion. However, if they revisit a thank you page, or go through a different conversion, we don’t fire a second conversion that session.

To do that, we’re going to:

  • Set a cookie when a user converts.

  • Make sure that the cookie automatically disappears after 30 minutes of inactivity (this is the default timeout for GA4 sessions but if you think that’s too short you can set it to whatever you want).

  • Every time we go to fire a conversion, check if that cookie is present and, if it is, don’t fire the conversion.

That should mean that if someone comes to our site and converts, we’ll set the cookie, and that will stop us from firing any more conversions (GA4 or otherwise) until the user has taken a little time away from the site.

Setting a cookie in JavaScript

The first thing you need to know is that we can use Tag Manager to run any JavaScript we want. The second thing to know is that we can use JavaScript to set cookies.

So first: Go to Google Tag Manager, create a new Tag and select the Custom HTML type

1679342731 289 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

Give the tag the name “[Tag] setCookieConverted” and in the html content paste:


// Get time 30 minutes from now (this is because the default GA session time out

// is half an hour and we want our cookie timeout to match)

var minutesToAdd = 30

var currentTime = new Date(); // Get current time

var newDateObj = new Date(currentTime.getTime() + minutesToAdd*60000); // Add our minutes on

// Set the domain your’re working on, this is because we want our cookies to be

// accessible in subdomains (like if needed

var yourDomain = “”

// Set a cookie called ‘converted’ with the value being ‘true’ which expires in 30 minutes

document.cookie = “converted=true; path=/; domain=”+yourDomain+”; expires=”+newDateObj+”;”


It should look like this:

1679342732 288 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

The custom HTML tag will add the content there to the page, and as soon as the page detects a new script (the one we’ve written) it’ll run that script.

What our script does is:

  • It finds the current time, and what time it’ll be in half an hour.

  • It uses that, and your domain, to set a cookie called “converted” which can be read by any page on your website.

When you go to save your tag it’ll probably say “No Triggers Selected”.

1679342732 774 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

For now we’re going to click “Add trigger” and choose the “All Pages” trigger.

1679342732 18 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

This is purely so that while we’re putting this together we can easily test it..

Reading our cookie value

Tag Manager has a built-in way to read cookie values using variables. So go to the variables section, create a new variable called “convertedCookie” and set the Cookie Name as “converted”.

1679342732 829 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

Now, if you click the “Preview” button and open up your site we can start to look at what value the convertedCookie variable pulls through for you.

Click into the “Variables” tab and you should see convertedCookie somewhere in the list. Here’s an example with other cookies blocked out so you know what to look for.

1679342732 536 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

So now we can use the value of that variable in Tag Manager as part of our logic.

Using conversion cookie in our conversion logic

Everyone’s conversion setup will be the different so this might not match what you’re doing exactly but if you’re considering using GTM I’m assuming you are firing conversions something like this:

  1. You have a trigger based on some condition (probably either a custom event or a pageview)

  2. You have a tag (or multiple tags) that send your conversion information whenever that trigger is activated.

What we’re going to do is tweak your trigger to add another condition.

Imagine that your trigger was previously firing on every thank-you page visit:

1679342732 47 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

What we’re going to do is add a second condition to the trigger:

convertedCookie does not contain true

1679342732 249 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

While this example uses the thank you page path, it doesn’t have to, it can be anything.

Once you make this change, you can go and test your conversion. Because you have another tag adding the converted cookie on each page view, your conversion shouldn’t fire when it normally would.

Now we just need to change our converted cookie so that it only appears after someone has converted.

At the moment we’re setting the “converted” cookie on every page view, so we’ll never get any conversions.

We need to update that so:

  • We set a cookie when someone converts.

  • Every time we load a page, if the person is marked as “converted” we reset the cookie (I‘ll explain).

Setting a cookie only when someone has converted

First: we need to remove the trigger from [Tag] setCookieConverted so it doesn’t fire at all.

Then we go to whatever tag we’re using to send our conversion, open up “Advanced Settings”, click “Tag Sequencing” and select “Fire a tag after”.

Then we select our setCookieConverted tag and check “Don’t fire if conversion tag fails”.

1679342732 128 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

This should mean that whenever we send our conversion, we’ll automatically then activate our cookie tag and mark the user as converted.

So now our logic is:

  • If someone converts, we check if there is a cookie saying they recently converted already.

  • If they don’t have that cookie we send a conversion.

  • Then we automatically set that cookie.

To test this, you can either clear the cookie or wait for it to expire. Here are instructions for how to clear cookies in Google Chrome (which you’re probably using if you’re working with tag manager).

Now, if you got into GTM preview and click around you should be able to look at your variables and see that convertedCookie is back to being ‘undefined’.

1679342733 561 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

If you convert, you should see that both tags fire — your conversion tag and your setCookieConverted tag.

1679342733 564 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

But if you convert again (reload the page, re-fill the form, whatever you’ve got to do) you should see that neither tag fires.

Congratulations! You’re filtering your conversions to avoid recording a conversion more than once for someone in a 30 minute window.

We just want to make one last tweak now.

Refreshing the cookie if it has been set

Our cookie has a 30 minute expiration. That means it’ll stick around for 30 minutes and then automatically be deleted from the browser. But what if someone hangs around on our website for more than half an hour, reading a blog post or something, and converts again?

To help deal with that, we’re going to add another trigger which checks if the user has recently converted, and if they have, refreshes the cookie with each new page load.

Head back to [Tag] setCookieConverted

At this point it should have no firing triggers. We’re going to add one back in.

1679342733 952 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

Click the blue plus sign in this screen, and again in the next screen that comes up, we’re going to create a new trigger.

In the new trigger, we set it to fire only on page views where convertedCookie contains true.

1679342733 469 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

So this gets a little bit circular, but basically:

  • When someone converts we set a “converted” cookie for the next half hour.

  • Every time someone loads a page, if they have a “converted” cookie we reset that cookie for another 30 minutes.

  • If at any point the user doesn’t load a new page for 30 minutes, the cookie will expire, which means our refresh won’t be triggered.

You can test this by clicking around your site with the GTM preview. Once you’ve converted, the [Tag] setCookieConverted should fire on every new page load.

Wrapping up

All you need to do now is make sure that all of your conversion tags use that same trigger (the one that has the condition that convertedCookie isn’t “true”). Once that’s set up, they should all behave the same — only recording one conversion per session unless someone clears their cookies or just hangs around on one page for a very long time.

What if we find we’re getting weird conversions where users haven’t visited any other pages on the site?

I have worked with sites in the past where:

  • There’s useful information on the thank-you page and users have been keeping it open/coming back to it.

  • Confirmation pages have been indexed in Google or people are finding their way to the conversion page some other way.

That can lead to weird tracked conversions that don’t correspond to actual conversions. While these problems should be solved at source, we can also clear up our analytics using the steps in “Creating a conversion funnel” below.

Creating a conversion funnel

This builds on the cookie meddling we’ve done in the last section, so if you haven’t read that bit, it’s worth taking a look!

If you’re here not because you want a specific funnel but because you want to deal with weird conversions where users just land straight on the conversion page – don’t worry you follow these instructions exactly the same, you just set the trigger for every page except your conversion page (I’ll take you through that).

Setting a “path” cookie

Just like the “converted” cookie before, we’re going to create a new cookie that records the location of the current page.

Create a new Tag called [Tag] setCookiePath, choose “Custom HTML” and add the following JavaScript


// Get time 30 minutes from now (this is because the default GA session time out

// is half an hour and we want our cookie timeout to match)

var minutesToAdd = 30

var currentTime = new Date(); // Get current time

var newDateObj = new Date(currentTime.getTime() + minutesToAdd*60000); // Add our minutes on

// Set the domain your’re working on, this is because we want our cookies to be

// accessible in subdomains (like if needed

var yourDomain = “”

var pagePathName = window.location.pathname // Get location of current page

// Set a cookie called ‘converted’ with the value being ‘true’ which expires in 30 minutes

document.cookie = “conversionPath=”+location+”; path=/; domain=”+yourDomain+”; expires=”+newDateObj+”;”


It should look like this:

1679342733 351 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

This will save a cookie that records the location of the page. The first time it’s loaded it will create a new cookie with that information, every time after it’ll replace the value.

We’ll use this to make sure that whichever funnel page our user interacted with last is the one we record.

Triggering on your funnel pages

In creating our “funnel” we’re assuming that there are certain pages a user passes through in order to convert. So we’re going to set this to trigger only when one of those funnel pages is involved.

In your [Tag] setCookiePath tag – click to add a new trigger and create a new trigger.

We’re going to configure our tag to activate on every user click. This means that if a user is hopping between different funnel pages, each one will overwrite the cookie as they click around but only the one they interacted with last will be the one that sticks around in the cookie value.

1679342733 200 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

Getting our funnelCookie

As in the double-counting instructions, create a new variable. But this time, call it funnelCookie and set the “Cookie Name” to conversionPath.

1679342733 139 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

Once you’ve done that you should be able to test by using preview, going to any old page of your site (as long as it’s not one of your funnel pages) and checking funnelCookie in the Variables (it should be undefined).

1679342733 677 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

Then go to one of your funnel pages, you should be able to see the cookie change.

1679342734 966 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

As you visit other pages on the site, funnelCookie should stay the same, unless you visit another funnel page.

Changing our conversions based on the funnelCookie

Now, there are smart things you could do here with extracting the value of funnelCookie and putting that into a variable in your conversion tag but the setup for every tag will be different and I want to give you an option for if you’re not able to do that.

This will create a little bit more mess in your Tag Manager account because you’ll be duplicating some of your trigger and conversion tags.

First, let’s go back to the conversion trigger we were working on before. It looked like this when we left it:

1679342732 249 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

We’re going to add in another condition:

funnelCookie contains event-page

1679342734 351 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

This means now that this conversion will only fire if the last funnel page our user passed through was the event-page.

After this we can duplicate this trigger, our conversion tags, and, for our other set of conversions, change the funnelCookie value for the trigger.

Maybe instead we make it:

funnelCookiecontains form-page

1679342734 361 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

Now you have two sets of conversions, each of which will fire based on which funnel page the user passed through. From there you can edit the values sent.

A couple caveats

Instead of duplicating our conversion tags it would be much better to pull in the value of the funnelCookie variable and use that to just dynamically change some of the values we’re sending as part of the conversion.

With this approach, you also run the risk of not recording any conversions at all if a user hasn’t passed through one of your funnel pages. That might be what you want, but it’s worth bearing that risk in mind in case you think people might take legitimate-but-unusual routes to conversion.

While I can’t take you through the process of updating all of your conversion tags, one option to make this information more ready for filling out conversion tags (and to optionally set a fallback in case you want to avoid losing conversions) is to use a lookup table like this, where you take the funnelCookie value and categorise the values.

1679342735 73 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

Then instead of adding the funnelCookie value in your trigger, you keep the trigger the same and pull in the lookup table value.

Triggering on any page except your conversion page

If you’re not concerned about constructing page funnels but you want to make sure that users have visited at least one page before converting. There are a couple changes:

1679342735 791 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel

  • You don’t bother creating different conversion flows, you just have one flow, but you still add a funnelCookie requirement which says that your funnelCookie has to be some page rather than undefined

1679342735 697 How to Avoid Duplicate Conversions and Recreating the Conversion Funnel


Hopefully this has helped you get an idea of how to get more control of the conversions being recorded on your site, whether that’s entirely through GA4 or using the power of Tag Manager.

Happy tracking!

Source link

Keep an eye on what we are doing
Be the first to get latest updates and exclusive content straight to your email inbox.
We promise not to spam you. You can unsubscribe at any time.
Invalid email address


Here’s Optimizely’s Automatic Sample Ratio Mismatch Detection



Here's Optimizely’s Automatic Sample Ratio Mismatch Detection

Optimizely Experiment’s automatic sample ratio mismatch (SRM) detection delivers peace of mind to experimenters. It reduces a user’s exposure time to bad experiences by rapidly detecting any experiment deterioration.

This deterioration is caused by unexpected imbalances of visitors to a variation in an experiment. Most importantly, this auto SRM detection empowers product managers, marketers, engineers, and experimentation teams to confidently launch more experiments. 

How Optimizely Experiment’s stats engine and automatic sample rate mismatch detection work together

The sample ratio mismatch actslike the bouncer at the door who has a mechanical counter, checking guests’ tickets (users) and telling them which room they get to party in.

Stats engine is like the party host who is always checking the vibes (behavior) of the guests as people come into the room.

If SRM does its job right, then stats engine can confidently tell which party room is better and direct more traffic to the winning variation (the better party) sooner.

Why would I want Optimizely Experiment’s SRM detection?

It’s equally important to ensure Optimizely Experiment users know their experiment results are trustworthy and have the tools to understand what an imbalance can mean for their results and how to prevent it.

Uniquely, Optimizely Experiment goes further by combining the power of automatic visitor imbalance detection with an insightful experiment health indicator. This experiment health indicator plays double duty by letting our customers know when all is well and there is no imbalance present.

Then, when just-in-time insight is needed to protect your business decisions, Optimizely also delivers just-in-time alerts that help our customers recognize the severity of, diagnose, and recover from errors.

Why should I care about sample ratio mismatch (SRM)?

Just like a fever is a symptom of many illnesses, a SRM is a symptom of a variety of data quality issues. Ignoring a SRM without knowing the root cause may result in a bad feature appearing to be good and being shipped out to users, or vice versa. Finding an experiment with an unknown source of traffic imbalance lets you turn it off quickly and reduce the blast radius.

Then what is the connection between a “mismatch” and “sample ratio”?

When we get ready to launch an experiment, we assign a traffic split of users for Optimizely Experiment to distribute to each variation. We expect the assigned traffic split to reasonably match up with the actual traffic split in a live experiment. An experiment is exposed to an SRM imbalance when there is a statistically significant difference between the expected and the actual assigned traffic splits of visitors to an experiment’s variations.

1. A mismatch doesn’t mean an imperfect match

Remember: A bonified imbalance requires a statistically significant result of the difference in visitors. Don’t expect a picture-perfect, identical, exact match of the launch-day traffic split to your in-production traffic split. There will always be some ever-so-slight deviation.

Not every traffic disparity automatically signifies that an experiment is useless. Because Optimizely deeply values our customers’ time and energy, we developed a new statistical test that continuously monitors experiment results and detects harmful SRMs as early as possible. All while still controlling for crying wolf over false positives (AKA when we conclude there is a surprising difference between a test variation and the baseline when there is no real difference). 

2. Going under the hood of Optimizely Experiment’s SRM detection algorithm

Optimizely Experiment’s automatic SRM detection feature employs a sequential Bayesian multinomial test (say that 5 times fast!), named sequential sample ratio mismatch. Optimizely statisticians Michael Lindon and Alen Malek pioneered this method, and it is a new contribution to the field of Sequential Statistics. Optimizely Experiment’s sample ratio mismatch detection harmonizes sequential and Bayesian methodologies by continuously checking traffic counts and testing for any significant imbalance in a variation’s visitor counts. The algorithm’s construction is Bayesian inspired to account for an experiment’s optional stopping and continuation while delivering sequential guarantees of Type-I error probabilities.

3. Beware of chi-eap alternatives!

The most popular freely available SRM calculators employ the chi-square test. We highly recommend a careful review of the mechanics of chi-square testing. The main issue with the chi-squared method is that problems are discovered only after collecting all the data. This is arguably far too late and goes against why most clients want SRM detention in the first place. In our blog post “A better way to test for sample ratio mismatches (or why I don’t use a chi-squared test)”, we go deeper into chi-square mechanics and how what we built accounts for the gaps left behind by the alternatives.

Common causes of an SRM  

1. Redirects & Delays

A SRM usually results from some visitors closing out and leaving the page before the redirect finishes executing. Because we only send the decision events once they arrive on the page and Optimizely Experiment loads, we can’t count these visitors in our results page unless they return at some point and send an event to Optimizely Experiment.

A SRM can emerge in the case of anything that would cause Optimizely Experiment’s event calls to delay or not fire, such as variation code changes. It also occurs when redirect experiments shuttle visitors to a different domain. This occurrence is exacerbated by slow connection times.

2. Force-bucketing

If a user first gets bucketed in the experiment and then that decision is used to force-bucket them in a subsequent experiment, then the results of that subsequent experiment will become imbalanced.

Here’s an example:

Variation A provides a wildly different user experience than Variation B.

Visitors bucketed into Variation A have a great experience, and many of them continue to log in and land into the subsequent experiment where they’re force-bucketed into Variation A.

But, visitors who were bucketed into Variation B aren’t having a good experience. Only a few users log in and land into a subsequent experiment where they will be force-bucketed into Variation B.

Well, now you have many more visitors in Variation A than in Variation B.

3. Site has its own redirects

Some sites have their own redirects (for example, 301s) that, combined with our redirects, can result in a visitor landing on a page without the snippet. This causes pending decision events to get locked in localStorage and Optimizely Experiment never receives or counts them.

4. Hold/send events API calls are housed outside of the snippet

Some users include hold/send events in project JS. However, others include it in other scripts on the page, such as in vendor bundles or analytics tracking scripts. This represents another script that must be properly loaded for the decisions to fire appropriately. Implementation or loading rates may differ across variations, particularly in the case of redirects.


If you’re already an Optimizely Experiment customer and you’d like to learn more about how automatic SRM detection benefits your A/B tests, check out our knowledge base documentation:

For further details you can always reach out to your customer success manager but do take a moment to review our documentation first!

If you’re not a customer, get started with us here! 

And if you’d like to dig deeper into the engine that powers Optimizely experimentation, you can check out our page faster decisions you can trust for digital experimentation. 

Source link

Keep an eye on what we are doing
Be the first to get latest updates and exclusive content straight to your email inbox.
We promise not to spam you. You can unsubscribe at any time.
Invalid email address
Continue Reading


How to Use Email Marketing Automation to Encourage SaaS Adoption



How to Use Email Marketing Automation to Encourage SaaS Adoption

SaaS adoption refers to the process that earns your product a permanent place in your user’s workflow. This happens when you empower your audience to extract useful value from your solutions.

Email, a tried and tested communication tool, plays an essential role in helping brands relay their product’s value to their customers and educate them on how to make the most of it.

However, smaller teams might find themselves at a crossroads, balancing the need for personalized communication with the scale of their user base

Email marketing automation offers a practical solution by ensuring that each message is tailored and timely, yet sent out with minimal manual effort.

In this article, let’s look at five tips that will help you build robust email marketing automation that will motivate your audience to adopt your tool and make it a part of their daily lives.

1. Segment your audience

Audience segmentation is crucial for personalizing your emails, which in turn, can significantly boost SaaS product adoption. Remember, a message that resonates with one segment might not strike a chord with another.

The key to effective segmentation is understanding where each customer is in their journey. Are they new subscribers, active users, or perhaps at the brink of churning?

Here are some actionable steps to segment your audience effectively:

  1.  Analyze User Behavior: Look at how different users interact with your SaaS product. Are they frequent users, or do they log in sporadically? This insight can help you create segments like ‘active users’, ‘occasional users’, and ‘at-risk users’.
  2.  Utilize Sign-up Data: Leverage the information gathered during the sign-up process. This can include job roles, company size, or industry, which are excellent parameters for segmentation.
  3.  Monitor Engagement Levels: Keep an eye on how different segments interact with your emails. Are they opening, clicking, or ignoring your messages? This feedback will help you refine your segments and tailor your approach. Plus, consider setting up small business phone systems to enhance communication with your audience.

2. Create campaigns based on behavior

Sending behavior-based campaigns is pivotal in effective email marketing. By focusing on performance metrics such as open rates, click-through rates, and engagement times, you can gauge the effectiveness of your emails and adjust your strategy accordingly.

You can also use digital signage to entertain or make customers aware of something new – product or service, through a digital sign.

Different types of email campaigns serve various purposes:

  1. Educational Campaigns: These are designed to inform and enlighten your audience about their problem. They can include tips, best practices, and how-to guides. The goal here is to provide value and establish your brand as a thought leader in your industry.
  2. Interactive Campaigns: These campaigns encourage user engagement through surveys, quizzes, microblogging platforms, or feedback forms. They not only provide valuable insights into user preferences but also make the recipients feel heard and valued.
  3. Onboarding Campaigns: Targeted toward new users, these messages help them get the value they seek from your product as soon as possible. They can include step-by-step tutorials, video guides, or links to helpful resources.

4.Re-engagement Campaigns: Aimed at inactive users, these emails strive to reignite their interest in your SaaS product. They might include product updates, special offers, or reminders of the benefits they’re missing out on.

3. A/B test before deployment

Rather than pushing a new campaign to your entire audience as soon as you draft the emails, A/B testing helps you know whether your messages are any good.

Here are some best practices for A/B testing in email automation:

  1. Test One Variable at a Time: Whether it’s the subject line, email content, or call-to-action, change just one (or a couple) element per test. This clarity helps in pinpointing exactly what works and what doesn’t.
  2. Choose a Representative Sample: Ensure that the test group is a good mix of your target audience as a whole. This way, the results are more likely to reflect how your entire audience would react.
  3. Measure the Right Metrics: Depending on what you’re testing, focus on relevant metrics like open rates, click-through rates, or conversion rates. This will give you a clear picture of the impact of your changes. Along with these steps, it’s important to use an SPF checker to ensure your emails aren’t marked as spam and increase the deliverability rate.
  4. Use the Results to Inform Your Strategy: Once you have the results, don’t just stop at implementing the winning version. Analyze why it performed better and use these insights to inform your future campaigns.
  5. Don’t Rush the Process: Give your test enough time to gather significant data. Adopt comprehensive marketing reporting solutions that give you a clear picture of your campaigns’ efficacy.

4. Leverage email templates

When managing multiple email automation campaigns, each with potentially dozens of emails, the task of creating each one from scratch can be daunting. Not to mention, if you have multiple writers on board, there’s a risk of inconsistency in tone, style, and branding.

Email templates are your secret weapon for maintaining consistency and saving time. They provide a standardized framework that can be easily customized for different campaigns and purposes.

They are also a great way to communicate with your customers. Another way to communicate efficiently with your customer is through best small business phone systems, which is especially efficient when conveying information about your product or service.

Here’s a rundown of various types of templates you should consider having:

  1. Welcome: For greeting new subscribers or users. It should be warm, inviting, and informative, setting the tone for future communications.
  2. Educational Content: Used for sharing tips, guides, and resources. If you are making this template to introduce online GCSE physics tutor services that you provide, you should be clear, concise, and focused on delivering value in your template.
  3. Promotional: For announcing new features, offers, or services. It should be eye-catching and persuasive without being overly salesy.
  4. Feedback Request: Designed to solicit user feedback. This template should be engaging and make it easy for recipients to respond.
  5. Re-engagement: Aimed at rekindling interest among inactive users. It should be attention-grabbing and remind them of what they’re missing.
  6. Event Invitation: For webinars, workshops, or other events. This should be exciting and informative, providing all the necessary details.

5. Use a tool that works for you

Email is more than just a marketing platform; it’s a multifaceted tool that can drive customer engagement, support, and retention. Given its versatility, it’s crucial to choose the right email automation tool that aligns with your specific needs.

When selecting an email automation tool, consider these key features:

  1. Intuitive Interface: Even your non-technical team members should find it easy to use.
  2. Robust Segmentation Capabilities: The tool must offer advanced segmentation options to target your emails accurately.
  3. A/B Testing Functionality: Essential for optimizing your email campaigns.
  4. Integration with Other Tools: Look for a tool that integrates seamlessly with your CRM, analytics, and other marketing platforms. Additionally, integrating a multilingual translation support can further enhance the tool’s versatility, allowing you to reach a diverse audience with tailored content in their preferred languages.

Popular tools like Mailchimp and ActiveCampaign offer free trials which are great for brands to take these for a spin before making a choice.

Wrapping up

Leveraging email automation makes it easier for SaaS brands to market their solutions to their audience and ultimately increase adoption rates.

Segmenting audiences, creating messages based on their behavior, testing emails before setting campaigns live, utilizing templates for speed and consistency, and adopting a tool that you are comfortable working with are essential email marketing automation tips to help you get started on the right foot.

Source link

Keep an eye on what we are doing
Be the first to get latest updates and exclusive content straight to your email inbox.
We promise not to spam you. You can unsubscribe at any time.
Invalid email address
Continue Reading


Marketing Team Reorgs: Why So Many and How To Survive



Marketing Team Reorgs: Why So Many and How To Survive

How long has it been since your marketing team got restructured? 

Wearing our magic mind-reading hat, we’d guess it was within the last two years. 

Impressed by the guess? Don’t be.  

Research from Marketing Week’s 2024 Career and Salary Survey finds that almost half of marketing teams restructured in the last 12 months. (And the other half probably did it the previous year.) 

Why do marketing teams restructure so often? Is this a new thing? Is it just something that comes with marketing? What does it all mean for now and the future? 

CMI chief strategy advisor Robert Rose offers his take in this video and the summary below. 

Marketing means frequent change 

Marketing Week’s 2024 Career and Salary Survey finds 46.5% of marketing teams restructured in the last year — a 5-percentage point increase over 2023 when 41.4% of teams changed their structure. 

But that’s markedly less than the 56.5% of marketing teams that restructured in 2022, which most likely reflected the impact of remote work, the fallout of the pandemic, and other digital marketing trends. 

Maybe the real story isn’t, “Holy smokes, 46% of businesses restructured their marketing last year.” The real story may be, “Holy smokes, only 46% of businesses restructured their marketing.” 

Put simply, marketing teams are now in the business of changing frequently. 

It raises two questions.  

First, why does marketing experience this change? You don’t see this happening in other parts of the business. Accounting teams rarely get restructured (usually only if something dramatic happens in the organization). The same goes for legal or operations. Does marketing change too frequently? Or do other functions in business not change enough? 

Second, you may ask, “Wait a minute, we haven’t reorganized our marketing teams in some time. Are we behind? Are we missing out? What are they organizing into? Or you may fall at the other end of the spectrum and ask, “Are we changing too fast? Do companies that don’t change so often do better? 

OK, that’s more than one question, but the second question boils down to this: Should you restructure your marketing organization? 

Reorganizing marketing 

Centralization emerged as the theme coming out of the pandemic. Gartner reports (registration required) a distinct move to a fully centralized model for marketing over the last few years: “(R)esponsibilities across the marketing organization have shifted. Marketing’s sole responsibilities for marketing operations, marketing strategy, and marketing-led innovation have increased.”  

According to a Gartner study, marketing assuming sole responsibility for marketing operations, marketing innovation, brand management, and digital rose by double-digit percentage points in 2022 compared to the previous year.  

What does all that mean for today in plainer language? 

Because teams are siloed, it’s increasingly tougher to create a collaborative environment. And marketing and content creation processes are complex (there are lots of people doing more small parts to creative, content, channel management, and measurement). So it’s a lot harder these days to get stuff done if you’re not working as one big, joined-up team. 

Honestly, it comes down to this question: How do you better communicate and coordinate your content? That’s innovation in modern marketing — an idea and content factory operating in a coordinated, consistent, and collaborative way. 

Let me give you an example. All 25 companies we worked with last year experienced restructuring fatigue. They were not eager creative, operations, analytics, media, and digital tech teams champing at the bit for more new roles, responsibilities, and operational changes. They were still trying to settle into the last restructuring.  

What worked was fine-tuning a mostly centralized model into a fully centralized operational model. It wasn’t a full restructuring, just a nudge to keep going. 

In most of those situations, the Gartner data rang true. Marketing has shifted to get a tighter and closer set of disparate teams working together to collaborate, produce, and measure more efficiently and effectively.  

As Gartner said in true Gartner-speak fashion: “Marginal losses of sole responsibility (in favor of shared and collaborative) were also reported across capabilities essential for digitally oriented growth, including digital media, digital commerce, and CX.” 

Companies gave up the idea of marketing owning one part of the customer experience, content type, or channel. Instead, they moved into more collaborative sharing of the customer experience, content type, or channel.  

Rethinking the marketing reorg 

This evolution can be productive. 

Almost 10 years ago, Carla Johnson and I wrote about this in our book Experiences: The 7th Era of Marketing. We talked about the idea of building to change: 

“Tomorrow’s marketing and communications teams succeed by learning to adapt — and by deploying systems of engagement that facilitate adaptation. By constantly building to change, the marketing department builds to succeed.” 

We surmised the marketing team of the future wouldn’t be asking what it was changing into but why it was changing. Marketing today is at the tipping point of that. 

The fact that half of all marketing teams restructure and change every two years might not be a reaction to shifting markets. It may just be how you should think of marketingas something fluid that you build and change into whatever it needs to be tomorrow, not something you must tear down and restructure every few years.  

The strength in that view comes not in knowing you need to change or what you will change into. The strength comes from the ability and capacity to do whatever marketing should. 


Want more content marketing tips, insights, and examples? Subscribe to workday or weekly emails from CMI.

Cover image by Joseph Kalinowski/Content Marketing Institute 

Source link

Keep an eye on what we are doing
Be the first to get latest updates and exclusive content straight to your email inbox.
We promise not to spam you. You can unsubscribe at any time.
Invalid email address
Continue Reading


Follow by Email