Walkthrough: Using email tags for audience segmentation

Using query string parameters, you can personalize based on information provided by your email service -e.g. MailChimp, Drip, ActiveCampaign

Your email service and your CRM platform hold information about your users that you can tap into to send visitors to different personalizations. For this, you will need to use the targeting condition "query string parameter" to create your target audiences. In this walkthrough, we will guide you through the process based on a real-life scenario*


We're the marketer of the flower delivery service myflowers.com. In Drip, we store information about our customers' purchase preferences. For this, we use the merge tag {{ preference }} and possible values are "potted_plants", "roses" or "unknown". Now, we plan a special Mother's Day email campaign that sends our customers to different versions of our homepage based on their purchase preferences.

Instead of sending everyone to this page: mothersday

We want to send them to one of these variations: 1mothersday

What we need to do

Step 1: Add the merge tag to our email link

To send information through from your email (or your signup form, or your ad) onto your page, you need to use so-called URL parameters. The most common URL parameters are UTMs but in this case, the merge tag becomes the URL parameter. This results in the following link: myflowers.com/?preferences={{preferences}}

Once a customer clicks on the link, Drip will populate the tag with the value set for this customer (e.g. myflowers.com/?preferences=roses)

Step 2: Create and edit our personalizations

We need two personalizations of our original page - one promoting potted plants, one promoting rose bouquets. The original page will serve as the fallback.


Step 3: Define the audiences of our personalizations

Here's where query string parameters come into play. So far, we've learned that the merge tag in Drip can have the value "potted_plants" or "roses" (or "unknown").

We also know that the query string we use in our URL is called ?preferences. This results in the following targeting rules:

  • Personalization "Potted Plants": query string parameter is set "preferences=potted_plants"
  • Personalization "Roses": query string parameter is set "preferences=roses"


Now - depending on the value stored in Drip - our customers will either see (a) the original page, (b) the personalization "Potted Plants", or (c) "Roses" when they click on our email link.

Step 4 (optional): Audience membership - personalize independently from email

If you wish, you can set up a membership for your audiences. This way Unless "memorizes" the value sent from Drip (or any other 3rd party tool). This allows you to personalize later web sessions or pages beyond the initial landing page. You could, for example, change the product page on the customer's (next) visit to show plants relevant to their purchasing preferences. Once a visitor has joined the audience, this will work for any visit - completely independently from email.


To summarize

Query string parameters are a great way to add user-specific information to your URL. You will typically find them in email links, signup forms, search results, and - most commonly - as UTM parameters.


To create an audience, remember to use the final string value or just the parameter (without a value). A dynamic string will not trigger your personalizations - the audience has to be set up according to the parameter displayed in the final URL.



The targeting is set as preferences={{ preferences }} - this will not trigger.



The targeting is set as preferences OR preferences=some_value - this will trigger.

Personalization based on lifecycle stage

Looking for a different example? Watch this video to learn how to personalize based on lifecycle stage.