Personalize Your Popups with Dynamic Text Replacement

Personalize Your Popups with Dynamic Text Replacement
Nina De la Cruz Nina De la Cruz Aug 20, 2021 —  8 min read

We have exciting news: Getsitecontrol just started supporting dynamic text replacement (DTR). It’s a powerful personalization feature that will help you get more call-to-action clicks, email signups, and product sales.

Marketers use dynamic text to create personalized Google Ads, emails, landing pages, and… popups!

This is what it looks like:

Here is what happens here. The text on a popup may vary for each website visitor based on where the visitor is from, what their name is, which device they’re using, which date they’re visiting your website on, and many other variables (even more if you’re on Shopify — scroll down to see examples).

Why should you use dynamic text replacement?

Dynamic text replacement has proven to drive excellent results wherever you use it. In email marketing, it leads to higher open rates and click-through rates; in search engine marketing, it attracts more ad clicks.

Personalized calls to action on your website are likely to convert better.

For instance, visitors will be more likely to respond to a special offer featuring their location than to an offer available to everyone.

How does dynamic text work on popups?

The new feature is already available right in the content editing menu. To check it out, go to your Getsitecontrol admin dashboard and create a new popup (or start editing an existing one).

Start editing any text field, and you’ll notice a new parameter in the text editing menu: {var} from variable.

How to set up dynamic text replacement in Getsitecontrol

Keep in mind that the new feature works for any piece of text on a popup including title, description, note, button text, action URL, and even autoresponder message.

Open the {var} menu to see your options. There are several groups of variables you can use: Shopify, Form, Geo, Device, Date, Developer, and UTM.

Six groups of variables available for dynamic text

Every variable group, except for the Form, uses non-personally identifiable information (non-PII) collected by the browser. That is the location of a visitor, their device, language, browser, the current date, the UTM tags, etc.

When you select a variable, you’ll see it in its “raw” format in the popup preview window:

Variable raw format in the popup preview window

However, for a visitor, instead of {{$city}}, there will be the actual name of the city they’re from.

Keep in mind that you can use custom expressions to adjust the way dynamic text is displayed. For instance, suppose a visitor is hiding their geolocation. In this case, you can set up an alternative piece of text using the following expression: {{$city | your door}}

Now, if Getsitecontrol can’t detect a visitor’s location, the message will look as follows: “Shipping to your door is on us!”.

Here are 3 more expression examples

Membership status

For those stores having membership tiers, here is a handy expression to display a customer’s status on a popup:

Membership: {{= totalSpent>1000 ? 'Premium' : 'Basic' }}

If the total amount spent by the customer is more than $1000, their membership status is displayed as Premium. Otherwise, their membership status is displayed as Basic.

Days left to the end of promo

To add the sense of urgency to your promo, you can specify how many days are left until the end of it using the following expression:

The promo ends in {{= Math.ceil((new Date(2021,4,1) - new Date())/(1000*60*60*24)) }} days

How to display the number of days left to the end of the promo using dynamic text on popups

In this case, the promo ends on the 1st of May (2021,4,1) *, so the result of this calculation will be the number of days left until that date.

* In such expressions, the month count starts with 0, hence May is #4 instead of being #5.

Free shipping availability

Some stores offer free shipping in selected states or cities only. If this is the case, use an expression like this one:

{{= ['CA','NY','WA'].indexOf($stateCode)!=-1 ? 'Free shipping is available' : 'Free shipping is unavailable' }}

If a customer’s location is detected as California, New York, or Wyoming, the displayed message will be saying that free shipping is available. Otherwise, customers will be seeing a message saying that free shipping is unavailable.

Can I display names, too?

Yes, you can display names and other personal information using the Form variables.

To display visitor’s names on popups, you’ll need to capture them first

However, you can only use the information a visitor has submitted through the form. Here is how it works.

When someone fills out a Getsitecontrol form on your website and hits the submission button, the app remembers the information inserted and allows you to use it on the following page of that same form.

For example, you can personalize your submission success message by using a responder’s name collected on Page 1.

Name used as dynamic text on a popup

In other words, you can display names, emails, job titles, or any other information provided by a visitor on one of the preceding pages of a form.

📢 It’s important to create clear, understandable field IDs because they will be displayed as options in the list of Form variables.

Dynamic text replacement in URLs

Finally, the dynamic text replacement feature can be helpful when you need to redirect website visitors to different URLs depending on their characteristics.

Suppose you want to encourage your customers to download your mobile app. Instead of creating different popups for iOS and Android users, you can insert dynamic text — in the popup copy and the button URL. If they’re using an iOS device, the button will take them to the Apple App store, and if they’re using Android, the button will take them to the Google Play Store.

Device name can be used as a dynamic text for raising awareness about mobile apps

To implement this scenario, you’ll need to add the following expression to the button URL action parameter:

{{!= $os == 'iOS' ? '' : ''}}

Here is another, more complex example that will work well in membership-based stores:

{{!= totalSpent>1000 ? '' : '' }}

If a visitor has spent more than $1000 in your store, the button link will take them to Page 1; otherwise, the button link will take them to Page 2.

Below, we’ll review 8 more dynamic text examples including those with complex expressions.

8 Dynamic text examples you should try

Now that you know how dynamic text replacement works on popups, let’s review 8 examples you’ll be able to replicate without any effort. Feel free to borrow any of these ideas for your store!

1. Create a sense of urgency using the current date

If you’re offering a welcome discount to first-time customers in your store, you can add a variable that will add the current date to the copy.

A current date variable can add a sense of urgency to the CTA

This way, first-time visitors will be welcomed at your website with a discount offer valid till the end of the day of their visit. As a strong incentive paired with the scarcity effect, this tactic will work incredibly well for growing ecommerce sales.

2. Personalize offers using name and location

There’s no limit to how many variables you can use on a single popup. One combination you may want to start with is the name+location.

Name and location used together for dynamic text replacement

Just remember, you will only be able to use the name variable if one of the preceding pages of the form contains a name capturing field. This technique will work well for submission success messages, surveys, request forms, and more.

3. Increase relevance using UTM tags from your campaign

The UTM variable group opens huge possibilities for using dynamic text replacement. For example, if you’re running a holiday campaign and you know your website visitors are looking for gifts, you can use this information to display a more relevant call to action.

UTM tags can be used for dynamic text replacement during campaigns

Another UTM tag you can easily use as a variable is utm_source. For example, if you’re partnering with a blogger or another website, you can mention their name on a popup and offer a sweet deal to those coming from that source.

4. Remind customers how much they need to spend to get a bonus

Some stores vary the minimum order amount every few days during promo campaigns. With the new DTR feature, you can use API parameters as variables for the required order amount.

How to use API parameters in dynamic text replacement to change minimum order requirement

This way, instead of altering the copy on the popup each time the minimum order amount changes, you can edit the value of your API, and it will be displayed automatically.

If you’re selling on Shopify, in addition to the variables in the Getsitecontrol menu, you can use the data collected by the platform.

Due to the deep integration of the Getsitecontrol app with Shopify, you can use such variables as products added to the cart, customer’s previous purchases, customer’s name, total cart price, and more 👇

5. Nudge customers to reach the minimum order amount (Shopify)

We’ve talked about ways to increase average order value a lot, and as you probably know, upselling is one of the most popular techniques that bring instant results. While you can choose to upsell products, in some cases, a minimum order encouragement will work too.

For example, instead of telling your customers what the minimum order amount is, you can tell them how much more they need to spend to get free shipping, a gift, or a deal.

To implement this scenario, you’ll need to choose a variable from the Developer group. The Developer group allows you to use API parameters and create advanced expressions for dynamic text replacement.

For instance, if your minimum order requirement is $100, and a customer already has items in their cart, you can use a special expression to remind them how little is left to get free shipping.

Javascript API expressions allow for implementing advanced dynamic text replacement

To work with the variables from the Developer group, you may need to have some technical knowledge. However, feel free to email us if you need assistance.

6. Welcome logged-in customers (Shopify)

At the beginning of this post, we mentioned that you can only use names submitted through a Getsitecontrol form. However, if you’re on Shopify, and a customer is logged into the store, you can display their name without them having to additionally submit it through the form.

How to welcome logged-in customers by name on Shopify

To the visitors who are logged out of the store, you can display “Hello there!” using the expression {{$customerName | there}} instead of just {{$customerName}}.

7. Display total amount after the discount (Shopify)

If you’re offering a coupon, it’s often more efficient to tell the exact amount a customer will end up paying, instead of only showing the discount percentage. However, because the total amount will be different for each customer, the DTR feature is the only way to display it correctly.

How to show total order price after discount using dynamic text replacement

To recreate this scenario, you’ll be using the following variables:

  • {{$cartTotalPrice}}
  • {{= $cartTotalPrice*0.9}} — where 0.9 is the multiplier used to calculate the amount after the discount.

Of course, your multiplier will differ depending on the discount. For instance, if you’re offering a 20% discount, the multiplier will be equal to 0.8, and so on.

8. Offer discounts on the products your customers are viewing (Shopify)

Another easy trick to encourage customers to finalize their purchase during their current visit is to offer a discount or free shipping on the products they’re currently viewing. This will work especially well if they arrived at your website looking for that particular product.

How to offer discounts on the products your customers are viewing

In this scenario, you can use {{$productVendor}} or {{$productType}} as variables.

Wrapping up

This is just the first version of the dynamic text replacement feature, but we think it can bring enormous impact already. And if you have a developer in your team, the possibilities are truly endless.

We can’t wait to hear your thoughts about the new feature! Drop us a line at or tweet us at @getsitecontrol.

Nina De la Cruz is a content strategist at Getsitecontrol. She is passionate about helping small and medium ecommerce brands achieve sustainable growth through email marketing.

You're reading Getsitecontrol blog where marketing experts share proven tactics to grow your online business. This article is a part of Getsitecontrol updates section.

Get the print version

Download a PDF version of our blog post for easier offline reading and sharing with coworkers.

Download PDF