Campaign link shortener
In marketing campaigns, hyperlinks are commonly used to direct traffic to landing pages through various channels. Yet, SMS/MMS messages have limited character space, making long and unattractive personalized links challenging. That is where our Link Shortener comes to the rescue. It automatically replaces all hyperlinks in your campaign text with shortened versions. Every click on these shortened links is tracked as a campaign
event with a clicked
status. Say goodbye to long URLs and hello to sleek and trackable links.
Feature enablement
Your CSM needs to enable the campaign link shortener. Contact your CSM for more information.
How to use campaign link shortener
Project settings
Once the module is enabled a new section in Project settings appears. You can find it under Campaigns > General > General campaign settings. You can select what channels will use an automatic link shortener (SMS, MMS) and select the default domain that will be used for the shortener. You can configure multiple short domains within your project and select the one to use on the campaign level.

Campaigns
Once you turn on the campaign Link shortener in Project settings, it will be turned on by default for every campaign.
If you want to manage the shortener in a specific campaign, you can do this in the SMS/MMS action node in the given campaign Scenario. Click on the Settings tab. Here, you can choose the short domain for the particular campaign from your configured domains and turn the link shortening on/off if needed. This will only affect all links in that specific campaign.

Preview
The preview in the scenario node highlights all parsed links (in green). The final message with dummy shortened links is displayed on the right side. The character counter displays the real number of characters used in the message, including shortened links.
Not all links can be identified during the preview phase (for example, links that are stored in customer properties or are the result of Jinja rendering) and therefore will not be highlighted and counted into the final character counter. All special Jinja links that can be resolved (for example, consent/unsubscribe page) are highlighted and counted properly.
Hi {{customer.first_name}}, don't miss our special discount offer this week! Shop now on https://www.shop.com/categories/sale?utm_source=bloomreach&utm_medium=sms&utm_campaign=Sale%20promotion
.

Link identification - links should always contain protocol (http\://
or https\://
only). Otherwise, the links will not be recognized by the link shortener and, therefore, won't be shortened (the preview will not work as well). If there is a specific link in your SMS/MMS text that you do not want to shorten, omit the protocol (http:// or https://).
Unmatched symbols in the URLs
Some links with special symbols might not be matched fully by the link shortener. In such case, we recommend URL to encode such symbols (for example, by
https://toolbox.googleapps.com/apps/encode_decode/
). See the example, where the semicolon symbol (;) is matched only once after it is escaped as %3B. The first line shows an unmatched symbol in the URL and the second one shows the fixed link.

Expiration
Expiration defaults to three months and can be configurable per instance. After this period, the link will be deleted. Any user who will visit an expired (or non-existent) link will see a 404 not found page (see the preview below).

Domains
There are 2 types of domains you can use for the link shortener:
- Shared Bloomreach Engagement domains
- Custom domains
Shared Bloomreach Engagement domains
Every multi-tenant instance provides one default shortener domain, for example, exp. cx, which can be used for your campaigns immediately.
Important
We don't provide shared domains for single-tenant instances. All single-tenant instances need to use a custom domain.
Custom domains
You can use your domain for the link shortener. Custom domains can be used either on single or multi-tenant instances. There are no requirements to the form of the domain, but make sure that:
- It is a dedicated domain for this purpose.
- Its name is as short as possible.
- The name matches your brand.
One custom domain can be used by multiple accounts but they have to be on the same instance.
Set up the custom link shortener domain
To use a custom domain, you have to set it up in the account settings:
Create a new domain
Follow the 4-step instructions from the Custom Domain Management article. Once complete, continue with the steps below.
Configure your custom domain in Project settings
Once you set up your DNS records correctly and they are valid, you can select your domain for configuration in the Project Setting as mentioned in the Project settings part of this article.
Manually added domains
If your domains were added by our IT team, prior to this setting being available, you will see the below information message. Such domains can't be managed from the settings and any changes must be done by our IT team.

Advanced configuration
Two advanced configurations can be changed on the instance level:
- Entropy
- Link expiration
By entropy, we mean the randomness of links our shortener is generating. It is very important that the strings aren't sequenced (for example aaaaa00001, aaaaa00002) because of possible abuse of the links. This is especially important when generating unsubscribe or consent page links. The length of the string defines entropy and can be configured on the instance level. Its default value is 10, meaning there are 10 random characters in each link (for example, https://exp.cx/pskE82In5h
). This means we can generate 64^10 different strings (allowed character set is: a-z, A-Z, 0-9, - and _) = 2^60. If we plan to send and store 1B (roughly 2^30) links in SMS/MMS messages for 3 months (currently we send about 2M SMS messages per month), we'll still have 1B unused strings for every used string. This will be hard to crack for any possible abuser.
Updated 26 days ago