Tuesday, January 8, 2013

Changing a link in a sent e-mail campaign



Recently I received an e-mail marketing piece from AIGA. About a day later I received another email from AIGA with a title of “Revised Registration: …” and it got me to thinking about why this doesn’t usually happen to me. What has happened is in this case  AIGA, the sender,  had to resend their e-mail to their entire list with a fixed link, the registration link no less. This not only is a bad thing because some people may unsubscribe if they think it’s spam, but this might also make an email server or filtering service false-positively mark a message as spam and never deliver it to the recipient in the first place.

This is a little technical, but I’ll try and write it out long-windedly in layman terms. Some of the terminologies I’ll use:

Server – The physical box that runs the programs

Webserver – The application on the physical box that handles requests from end users by serving webpages.

Webpage preprocessor – The application executed by a webserver that translates server-side code into a scripted language for the web browsers of the end users or visitors.

List – A list of email address in the mail server.

Sending Service (or list management service) – A contracted service that maintains and manages e-mail subscriber lists, unsubscribe lists, and sometimes user subscription preferences.

Spam – Unsolicited [commercial] e-mail

I receive occasional requests from my clients to edit an e-mail marketing piece once it has already been sent. Usually it’s a price change or some little tweak like a company name being split between lines in some obscure browser, but every once in a while it’s because of something else…  a link going down, a website being moved, a photograph that needs to be changed. In regard to the text content, because of the way the internet works, the way e-mail browsers work, and high requirements for [the illusion of] internet security, it would be a “bad thing” if people were able to change things in your inbox once they were filtered by something like an antivirus application, an anti-spam firewall, or corporate e-mail server. If people could change a “trusted” link to something else once received, then they could circumvent the protections altogether. A lot of people will click on anything that looks remotely legitimate anyhow, so they would definitely click on a link they believed to be legitimate because their super expensive filtering system tells them it is safe. Because of this any content that has been sent as HTML or Text-Only cannot be altered in the client’s Inbox (legally and ethically).

NOTE: Mistakes always happen and this is why everyone should thoroughly proofread anything going to a huge list of e-mail recipients. Also rushing to send out an e-mail marketing piece (typically the case) is bad practice. If you can afford a little more time it might save 10% of a mailing list.

There are a couple of exceptions to this rule. You can alter where it goes ultimately if you control the links. This of course depends on the sending service you’re using and the type of system they have in place. It’s always best to use a sending service to handle e-mail marketing pieces because of the risks in regard to having your own email server ending up on a blocklist or anti-spam blacklist (Check back later). Most sending services (the great ones) allow you to provide your own HTML and text-only content. Some require that they make the code for you in their WYSIWYG interface. When you’re setting up the links for a “mailblast” or e-mail marketing piece there are a few things that you can do in order to make edits after the piece has been delivered. The tricks are all done on a web server. Now to do this, you’ll need to know what type of webserver (Apache or IIS) you’re using and possibly what language it’s running (PHP, ASP, Java, etc). 

For most of my clients I setup something called a redirect (302 technically). A redirect tells a visiting browser that a page has moved, either temporarily or permanently. When you use a redirect link, not only can you change the link on the server side in regard to where the end user is being sent, but you can also do other things with information from the e-mail. You can now marry their IP address and session information to anything they do on your website. So if you were wondering if that project manager with enormous buying power working for one of the potential clients you’ve been targeting is actually reading your e-mails, now you’ll know, AND you can retroactively pair their IP address presently with your webserver logs or high-level statistics to see what they’ve been interested in and looking at. This is all provided you have the system in the place and the proper people to translate what you’re looking at.

The overall premise
So if we’re plugging a tradeshow promotion, then I’ll setup a link on the client’s website in a custom directory (eg. TRADESHOW_012013). 

Some sending services allow you to set off-site links for the mailings in your HTML code and Text-only counterpart. So for the setup, you could for instance make the TRADESHOW_012013 that contains a redirect link with a target folder or alias that goes to a page in an “events” directory called “TRADESHOW-2013-January” when someone selects the link in their e-mail client.

So they would start with a link here:
http://www.somefakewebsite.com/TRADESHOW_012013/

And end up here:
http://www.somefakewebsite.com/events/TRADESHOW-2013-January/

The redirect can be created in the webserver configuration (not so good), the website’s configuration (a little better), or in the code (best) that is executed on the server if you’re using a server-side language. 

Option 1.) Dynamic Code Handling – Best Option
If you were to do this with a server-side scripting language like PHP or ASP, the visitor would first (for a split second) visit the TRADESHOW_2013 directory (they might even see it in their address bar), then they would be instantly redirected to the appropriate folder. In order for this method to work properly, the sending service needs to allow you to set your links and they should not be altered in the end code that is presented to the client. This would give you the most control. This server-side dynamic coding approach allows your pages to load faster (overall) because you’re only doing this for certain links.

So what happens if the file original file is no longer available on the server?

Conversely, some sending services actually follow all redirects to reach an end target and only deliver the end user to the content they believe they’re receiving. They’ll rewrite the link in the email content that you provide with their own tracking scripts.(Eg. Although they’re not a sending service, Facebook does this with certain links, so when you paste a link, they actually follow all of the redirects so they can show you the content you’re seeking. This way they don’t have to worry about someone intercepting any of their traffic.) If this is the type of service that you typically use for sending your e-mail marketing campaigns, what will happen is when someone selects the link in their email, rather than seeing your TRADESHOW_012013 redirect folder, they will only see the end page. These are a little harder to control, but not impossible. The problem is you’ll need to make sure the end page doesn’t exist anymore, or qualify someone for a redirect (a little more difficult).

Option 2.) Webserver Scripting – Second-Best Option
This doesn’t need to be a physical file on an Apache webserver because you can perform the redirect in the .htaccess file with mod_rewrite [http://httpd.apache.org/docs/2.0/misc/rewriteguide.html]. In newer versions of IIS [http://technet.microsoft.com/en-us/library/cc732969%28v=ws.10%29.aspx] you can set up a web.config file to use redirects and rewrite maps.

NOTE: Remember because of the way the webserver needs to recognize the request it can take longer for a server to process every single page on the site if you make a list of qualifying redirects in the server configuration file. In short if you make 35 redirects, the site has to make sure that every page on the server isn’t one of the 35 redirects before it forwards people appropriately or serves a page.

One of the resources I use is at webconfs.com:
NOTE: If you omit the lines in the redirect instructions that say “301” (permanent),  you will by default create a 302 (temporary) redirect.

Changing Images
Just like changing links in an email, you can sometimes replace an image in a campaign that has been sent, depending on the sending service and the way they manipulate your code. If you are using a service like Vertical Response, you can upload images to a directory on their website and link to them directly. You can also upload the images to your own webserver and then link to those in the code. In my experience with Vertical Response you can successfully alter links and images in the emails once they’re sent. The higher-end email sending service I use is called Campaign Monitor, and they’re a little more tricky because even if you link to an image on a website they will actually pull the image into their archives and link to THAT instead of the original image. Campaign Monitor is all about end-user protections and anti-spam which is excellent, but sometimes when an image contains faulty information or something where no release was obtained it’s a little more of an issue to get it changes after the sending.

When you’re using a sending service that doesn’t alter the end image source links to replace an image all you need to do is to physically replace the source image on the destination server. The next time the email client opens the email they should reload the updated image. (Sometimes they don’t if they use caching).

Worst case scenario you can specify a redirect link in the site’s configuration file that tells the end user the destination for an alternate image.

No comments:

Post a Comment

I'm going to read this before it goes live if you don't mind.