Your email service and your CRM platform hold information about your users that you can tap into to send visitors to different page variations. For this, you will need to use the targeting condition  "query string parameter" to create your target audiences. 

To keep it hands-on, let's assume the following scenario: 

We're the marketer of the flower delivery service 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: 

We want to send them to one of these variations: 

Here's what we need to do: 

1. Step: 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:{{ preferences }}
Once a customer clicks on the link, Drip will populate the tag with the value set for this customer (e.g.

2. Step: 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. 

3. Step: 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 the original page, the personalization "Potted Plants", or "Roses" when they click on our email link.

4. Step (optional): Memorize 3rd-party data with Unless

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 that is more relevant for non-eCommerce websites? Watch this video to learn how to personalize based on lifecycle stage. 

Did this answer your question?