Troubleshooting Merge Tag Problems

My mail merge tags are blank.

Mail merge tags are case sensitive on some platforms, so check to make sure you entered in the table and field name correctly. Also, if there is no data for that particular recipient, the result may be a blank.

 

I'm writing my mail merge tags correctly. Why don't they work?

Unless you have a Pro or Enterprise license, you cannot use mail merge tags which reference any custom fields. If you have a Pro or Enterprise license, check your list and server settings to make sure that the Scripting Level is enabled. The server setting takes precedence over the list setting, so if scripting is not enabled at the server level, it is not enabled for any list.

 

I have a standard license, and non-custom fields aren't being merged.

If you are using a standard license, and you are having trouble with standard merge tags (such as %%emailaddr%%) in your message, you should also check your list and server settings. In Utilities >List Settings, set Scripting Level to Safe Scripting/Merge, and Enable Scripting to Administrators Only, even though these features say they are Pro or Enterprise features only. Changing these settings enables you to use standard mail merge tags.

 

My URLs are breaking when I use mail merge.

Sometimes you need to send a string that is longer than the line-wrapping width of your email client. This is not a problem if you construct a message using the Send Message pages and disable word-wrap.

 

Spaces in the string are not a problem, since the wrapped line is removed and the string is then sent as it was composed. However, there are circumstances where a string might not have any spaces in it. In this case, it cannot be correctly "unwrapped". This occurs with URL's. To use a string that is longer than the wrapping width of your email client, you can construct it from shorter pieces. For example:

 

%%set mystring "http://www.somelongdomainname.com/cgi-bin/somescript.pl" ;
append mystring "?someparameter=somevalue" ;
append mystring "&someotherparameter=someothervalue" ;
append mystring "&yetanotherparameter=yetanothervalue" ;
return $mystring ;
%%

 

If the name is blank, I'd like to merge in something else.

Tags like %%fullname%% merges in the member's email address if there is no name. If you would like to merge in something else, you may use a script like this:

%%!
set fullname [merge members_.fullname_]
if {$fullname == "} {
 return "no name"
} else {
 return $fullname
}%%