Email remarketing campaigns are quite different than the regular email campaigns - mostly because they have different rules for delivery. These campaigns are not setup for delivery at a specific time or schedule but rather with a preset delay from time the remarketing event has been last updated.
The trigger for a remarketing campaign is existence of an event that the campaign is bound to. Event creation and management is described in the documentation for the Event API.
The core of email remarketing is to send email messages triggered by website visitor's interaction and behavior. It's the remarketing campaign that defines the content and rules for email delivery.
The fact that the campaign is going to be used for remarketing is set during campaign creation where campaing type needs to be set to remarketing.
Name - name of your campaign
Subject - subject of the email message sent to recipients
From - sender of the email message. Each sender address needs to be added to the profile and verified first. If the email you have added doesn't show up it's most likely because it has not been verified yet.
Mailing lists - mailing list to use for storing email addresses of remarketing campaign message recipients. We advise to use an empty mailing list or a list where you have all your existing recipients to avoid unnecessary duplicities.
Attachments - if you'd like to add an attachment to your message you can do it here. Please note that there are strict policies regarding attachment sizes and messages exceeding 250kB in size might not be approved for delivery.
Send message for - choose one of two options here to evaluate events - Incomplete events or Completed events. This basic rule helps you define the main event trigger when emails are being sent, for example if visitor has not completed a specific type of event (abandoned cart) or completed and you want to send a follow-up thank you note, invoice, etc.
Delay before sending - how long before after the last event activity the email will be sent.
Event tags - if you have multiple events setup on your website using different event_tags you can attach the campaign to specific tags you want to trigger the campaign. By default the campaign is not assigned to any tags and therefor will only get triggered by events with no event_tag defined.
Test mode - during preparation of your remarketing campaign we suggest a testing period to make sure all the properties are correctly set. By enabling a test mode and entering an email address for test mode all remarketing emails will be sent to the preset testing email address instead of the intended recipients.
Once you have all the settings of your campaign set it's time to define the contents of the email itself. Remarketing campaigns behave the same way as any other email campaign in the system and can take full advantage of your templates to customize the layout as well as the content of the email. In addition to all the standard templating options you can also use the data of the event itself within the content editor or template using variables.
Here is a short example html to show how this works:
<html> <head> <title>Abandoned cart</title> </head> <body> <p>Hi [% Event.first_name -%] [% Event.last_name -%],<br /><br />Order no. [% Event.order_no -%], created on <strong>[% Event.create_date -%]</strong></p> <p>Cart items:</p> <table border="1"> <tr> <td>image</td> <td>name</td> <td>items</td> <td>price</td> </tr> [% FOREACH EventItems -%] <tr> <td><a href="[% product_url -%]"><img alt="[% name -%]" border="0" height="50" src="[% image_url -%]" width="100" /></a></td> <td><a href="[% product_url -%]">[% name -%]</a>([% description -%])</td> <td>[% item_qty -%]</td> <td>[% item_total -%][% item_curr -%]</td> </tr> [% END -%] </table> <p>To complete your order click to <a href="[% Event.return_url -%]">return to cart</a></p> <p><a href="[SIGNOUT]" target="_blank">Or click to unsubscribe</a></p> </body> </html>
As you can see in the very simple example above all the event values collected using initEvent function are available using [% Event.PARAMETER -%] variables, where PARAMETER matches the name of initEvent function variable. This way you can insert the value of any event variable or even evaluate the values using IF, ELSIF, ELSE conditions. For example you can use conditions to insert different texts based on variable language parameter value:
[% IF Event.language == 'cs' -%]Český text[% ELSIF Event.language == 'en' -%]English text[% ELSE -%]For all other languages[% END -%]
The same logic with variables is used to handle the event contents (items) using a loop [% FOREACH EventItems -%] which returns data for each of the variables used in the addItem function call.
You can test your campaign in many ways. As with all campaigns in Mailkit you can go see a preview of your campaign. Since it's crucial to see the actual content of a remarketing campaign the previews will show data from a random matching event to give you a more accurate preview of all the data. The same applies for test messages - the messages will contain data from an existing event. That is why we suggest our customers to start with adding event management scripts to their website first.
Obviously the best method of final testing is to switch your campaign to a test mode and see the actual content and times of messages sent based on events created on your website and compare them to your records and fine tune to your expectations.