Probaho: Campaign tags and filters

July 10, 2021
Nezam Uddin

When sending a campaign, you are able to use a number of custom tags and filters.
Most common tags are listed below:

TagRequired
[UNSUBSCRIBE_URL]YES
[COMPANY_FULL_ADDRESS]YES
[UPDATE_PROFILE_URL]NO
[WEB_VERSION_URL]NO
[CAMPAIGN_URL]NO
[LIST_NAME]NO
[LIST_SUBJECT]NO
[LIST_DESCRIPTION]NO
[LIST_FROM_NAME]NO
[CURRENT_YEAR]NO
[CURRENT_MONTH]NO
[CURRENT_DAY]NO
[CURRENT_DATE]NO
[COMPANY_NAME]NO
[COMPANY_ADDRESS_1]NO
[COMPANY_ADDRESS_2]NO
[COMPANY_CITY]NO
[COMPANY_ZONE]NO
[COMPANY_ZIP]NO
[COMPANY_COUNTRY]NO
[COMPANY_PHONE]NO
[CAMPAIGN_SUBJECT]NO
[CAMPAIGN_TO_NAME]NO
[CAMPAIGN_FROM_NAME]NO
[CAMPAIGN_REPLY_TO]NO
[CAMPAIGN_UID]NO
[SUBSCRIBER_UID]NO
[EMAIL]NO
[FNAME]NO
[LNAME]NO

Now, each of the above tags is able to receive a set of filters.
Filters are a simple way of transforming the tag in a way or another, for example you might want to embed a sharing link to twitter in your campaign, say the campaign url itself.

Using only the tags you would embed it like:

https://twitter.com/intent/tweet?text=[CAMPAIGN_SUBJECT]&url=[CAMPAIGN_URL]

But there is a problem, because twitter expects your arguments to be url encoded, and by that, i mean twitter expects to get

https://twitter.com/intent/tweet?text=my%20super%20campaign&url=http%3A%2F%2Fwww.domain.com%2Fcampaigns%2F1cart129djat3

but instead it will get:

 https://twitter.com/intent/tweet?text=my super campaign&url=http://www.domain.com/campaigns/1cart129djat3

In order to overcome this issue, we will apply filters over our tags, therefore, the twitter url becomes:

https://twitter.com/intent/tweet?text=[CAMPAIGN_SUBJECT:filter:urlencode]&url=[CAMPAIGN_URL:filter:urlencode]

Pretty simple eh?
But we can do even more, let's say we want to make sure our twitter text starts with a capitalized letter and the rest of the letters will be lowercase.

In order to accomplish this, we can apply multiple filters(separate by a pipe) to same tag, for example: 


Please note, the order in which you add the filters is the same order they are applied.

https://twitter.com/intent/tweet?text=[CAMPAIGN_SUBJECT:filter:lowercase|ucfirst|urlencode]&url=[CAMPAIGN_URL:filter:urlencode]

Bellow is the entire list of filters, for now there are a few, but in the future the number might increase.

urlencodewill urlencode your tag
rawurlencodewill rawurlencode your url
htmlencodewill convert html tags into their entities
trimwill trim the white spaces from begining and end of your tag
uppercasewill transform your tag in uppercase only chars
lowercasewill transform your tag in lowercase only chars
ucwordswill capitalize each first letter from your tag content
ucfirstwill capitalize only the first letter of your tag
reversewill reverse your tag content