In this article, we’ll share four complementary techniques to prevent your existing subscribers from seeing your popup. We all know how frustrating it is to be asked to subscribe to something that we're already subscribed to. Take these easy steps to avoid annoying your visitors.
Technique #1: Exclude the users who subscribed through another campaign or service
This built-in targeting option lets you easily exclude subscribers for compatible services. This currently covers:
Other Wisepops campaigns
Mailchimp embedded forms
Klaviyo web forms
Any visited URL containing the parameter
utm_medium=email
orutm_source=email
To enable this, follow these steps:
Open your email collection campaign in Wisepops.
Click Display rules on the left menu and go to the Audience tab.
At the bottom of the page, check the box Exclude existing subscribers.
Technique #2: Exclude the visitors coming from your emails (custom UTM parameter)
If your email links contain utm_medium=email
, we recommend following the 1st technique. This 2nd technique is useful only if your email links don't contain the parameter utm_medium=email
.
This technique lets you exclude visitors thanks to custom UTM parameters. Note that this technique, as opposed to the other ones, excludes the visitor only during the current visit.
On the Audience page, next to Traffic, select UTM.
Input the UTM parameter of your emails and select Is not equal to, as shown below.
Technique #3: Exclude the visitors coming from your emails (any parameter)
If your email links contain utm_medium=email
, we recommend following the 1st technique. This 3rd technique is useful only if your email links don't contain the parameter utm_medium=email
.
This technique requires you to add a piece of code to your website. It detects the presence of any parameter in the URL, and permanently excludes the visitor from your campaign.
Paste the following script between your Wisepops setup code and the
</script>
tag:
/**
* Detect visits from Newsletter
*/
(function() {
var detectNewsletter = [
'utm_medium=email',
// Change the previous line with your own condition, like utm_source=newsletter
];
for (var i = 0; i < detectNewsletter.length; i++) {
if (window.location.search.indexOf(detectNewsletter[i]) > -1) {
// Flag the user as already subscribed to the newsletter
wisepops('properties', {
alreadySubscribed: 1
});
}
}
})();
Update the sixth line of the script with your own utm_source or tracking parameter.
For example, if I'm tracking my newsletter with the UTM structure below, I would use utm_source=newsletter
instead.
/**
* Detect visits from Newsletter
*/
(function() {
var detectNewsletter = [
'utm_source=newsletter',
// Change the previous line with your own condition, like utm_source=newsletter
];
for (var i = 0; i < detectNewsletter.length; i++) {
if (window.location.search.indexOf(detectNewsletter[i]) > -1) {
// Flag the user as already subscribed to the newsletter
wisepops('properties', {
alreadySubscribed: 1
});
}
}
})();
You should end up with something like this:
Then, open your campaign in the builder. In the left menu, click Display and select Custom properties. Add the following rule:
Technique #4: Shopify only
If you're on Shopify and have installed our app, you can create the following rule:
It will exclude all logged-in visitors who already accept marketing.
Contact us via chat if you have any questions or need some help setting up your targeting. It's what we are here for.