Schedule: Real-Time Content Calendaring

The instant an email is sent, the content begins to age. People open messages on their own schedule, and with cloud inboxes, keeping email longer. The #1 action people take with an email of interest, according to the UK DMA, is to save it for later.

Other digital channels have become more and more real-time. Instead of a doorbell, an app tells you when the package is at the door.  With permission, websites can deliver notification in the browser.  Social media networks deliver a torrent of up-to-the-moment content. 

It’s been said that attention has become the most scarce commodity. A message with a dead, expired offer wastes that commodity. Savvy email marketers know that ‘send another message’ isn’t a scalable solution to offer expiration. Strain the traffic tolerances of your audience, and opt-outs will start to climb.

Real-time offers marketers a pathway to live, synchronized content management. The most impactful components in messages can be changed to match business conditions. 

The Schedule tool provides easy time-based management for content in the inbox. Content and links can be pre-scheduled, or altered on-the-fly to match the current state of offers, prices, inventory and more.

Without leaving the email editor, marketers can grab control over what customers will see, and where clicks will land.

Why not have “this week’s sale in last week’s mail”?

 

1             Scheduling Content Sets

The Schedule tool synchronizes real-time image delivery with link redirection on a real-time calendar.  Marketers can dictate what people will see, and where clicks will go. Schedule doesn’t provide the creative; it allow scheduling of brand’s existing creative. The workload of content and link management inside email templates becomes simpler, and creative assets can be leveraged across multiple campaigns for greater ROI.

The user interface is extremely simple. Add two or more images with drag-and-drop.  Set the hyperlink for each image, and schedule the availability date of the image.

1.1               Image Handling

Uploaded images are hosted on a globally-replicated object store, with intelligent CDN distribution “at the edge.”  In plainer English, images are delivered quickly.

Image dimensions and file sizes are not restricted. Practically speaking, limits to suit useful image size in email clients is sufficient.

In the current release, an image can’t be replaced. In practice, this is a non-issue.  Add the new version of a given image. Then clear the checkbox on the old version; it will be removed from the available-images set on save.

1.2               Scheduled Content Controls

Like other tools in the Content Set group, the Schedule tool allows marketers to add 2 or more “sets” (image + hyperlink).  Images can be dropped or clicked singly, or in a simultaneous group. Each added image generates a configuration Row. In the example above, Row 1 (green backpack) and Row 2 (red backpack) are visible.

Each Schedule row provides 4 configuration controls:

·       Availability Checkbox

·       Mobile Checkbox

·       Row Hyperlink

·       Content Date

(1)  Availability Control

The Availability control is the master On/Off switch for a content row. If checked, the row is included in the sample set; if un-checked, it is dropped from the sample set. While this is a simple concept, it is critical to note that Availability is “LIVE”.  Un-checking a row and saving the template will remove that row from rotation immediately. Re-checking the row will restore it rotation.  Sporadic switching of content availability will skew statistic conclusions. To keep the interface simple, no audit/history of availability is provided — so use Availability with a clear purpose in mind.

Once an image is added to a set, it cannot be deleted from the set. Data-tracking and statistics would be compromised.  Simply make the row unavailable, and it will be effectively gone from the content rotation.

(2)  Mobile-Only: 2 Sets In One

Schedule actually allows management for 2 separate sets of content from 1 template; one content-set targeted at mobile devices, another for non-mobile. 

The question ‘is this a mobile device’ is convoluted and non-linear. The approach used in the Real-Time Toolbox is based on the “User-Agent” string included in the HTTP request for an image. User-Agent is a ubiquitous but “loose” HTTP standard; text usually describes browser compatibility, OS platform, mobile, and additional attributes such as Gecko and Firefox.

Examples:

Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0
 Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1

Estimates of the number of User-Agent strings range from tens of thousands to millions; there is no authoritative registry moderating use.

Campaign Genius utilizes the market-leading API to resolve User-Agent strings. The determination “mobile or not” is, of course, a vast simplification; is an iPad on a 4G network a mobile device, or not?  What about a tablet?  Phablet?  Smart TV?   For purposes of optimization, we use the external API determination of whether a given requestor is “mobile.”  The question of how to use this is the more interesting.

The “mobile-only” checkbox gives the marketer the freedom to designate 2 alternative sets of content — one set for mobile devices, one set for other devices. The logic flow is roughly this:

·       Image request is received from a device

·       IP address of the request is noted

·       Request parameters are parsed for email address or UID (user ID)

·       HTTP Header ‘User-Agent’ string is submitted to the external user-agent API

·       API result “mobile or not” is included in the results.

·       If the API result = ‘mobile device’:

·       The set of content flagged “Available” is collated.

·       Past assignments of rows for either:

·       Email Address

·       UID

·       IP Address

Are checked.  If a record is found, the row for that existing assignment is used.

·       If no prior assignment has been made, a row from the mobile-only set is randomly assigned.

·       The email-to-row OR UID-to-row OR IP-to-row assignment is recorded.

If the device is non-mobile, the set of available rows is calculated — everything checked “Available”, and everything NOT checked “mobile-only.”  After that, the logic is as above.

It’s worth noting the logical implication:  the “winner” for views and clicks in the mobile set, and in the non-mobile set, are mutually exclusive. This comes up again in the metrics discussion later.

In theory, a row can be moved from the mobile set to the  non-mobile set by clearing the checkmark.  This should be done early if at all, as the stats calculations will be complicated considerably.  (Winner-vs-losers is determined by the mobile set AT THE TIME OF CALCULATION, not at the time of recording. Best to be clear about what’s what early on.)

As a final note — there is no requirement to designate a separate “mobile-only” group of content.  If all rows are un-checked, all rows are treated equally; mobile devices will be assigned their content at time-of-request from all available rows.

(3)  Landing-Page Hyperlinks

The redirect-to link field gives the marketer control over the destination for a click.  The URLs in this field can include parameters, such as Google Analytics UTM parameters.  Parameters are “detached and re-attached” in the process of redirection, to ensure that values are passed through for accurate final metrics in other systems.

It is common for ESPs and marketing clouds to provide another level of redirection; hyperlinks are generally replaced with ESP’s own redirect links.  When a user clicks the hyperlink in their email, the HTTP request is:

·       Directed to the ESP, where it is recorded

·       An HTTP redirect (301 or 302) is returned, with the scheduled hyperlink

·       The browser fires a 2nd request to the scheduled hyperlink

·       The request is compared with immediately-previous image request traffic:

o   Same email= or UID=params

o   Same IP address

·       Based on that comparison, an HTTP redirect (302 – Temporary Redirect) will be returned to the browser, along with params

·       The browser will request the final landing-page link, as configured in the Schedule row.

In theory, this sounds like a lot of traffic; in practice, it’s a sub-second, invisible experience to the user. Redirects are a common tool, and “too many redirects” requires thousands of redirects, typically from a loop and mis-configuration.

(4)  Setting Content Dates

Date/time are under marketer control. A simple calendar-style “date picker” inserts date+time in the correct format. 

Schedule currently does not compare dates; if 3 different rows are scheduled for June 1, 2PM, the tool will deliver one of them at random.  

Date/time selection is local to the user.

This is a critical point to note. If a marketer is in US PST, selecting “midnight, June 8” means “midnight PST, June 8”.  Date/times are converted to Greenwich UMT, and compared “live” with the current UMT time to determine eligible rows.

In practice, this means that the current version of Schedule is absolute-time-for-all based.  Targeting dates based on recipient-local time zones is on the roadmap for a future release.

Date/Time Granularity: down to the minute

Content will switch at the turn of the set minute, at 00 seconds (mm:00).  Too-the-second targeting is feasible, but let’s walk first.

 

Using Scheduled Content in Email Templates

Schedule templates, like all other Toolbox templates, generate a chunk of HTML code. Once the HTML code is included in the email template, the email client and the Toolbox back-end services handle the rest. No integration or data-export is required.

When the Toolbox is deployed within a platform (e.g. embedded within the email editor), clicking Insert will handle the job of placing the HTML code.  Some editors allow direct editing of HTML code (e.g. to add parameters); others do not. A future revision for the Toolbox UI will allow for ‘intervention’ to attach URL parameters such as Google Analytics UTM codes.

When the Toolbox is used “standalone”, the Toolbox user interface is presented as a popup on a Web page. The Insert button puts the template HTML on the system clipboard on-click.  The page includes a ‘rich’ field, which displays the resulting image. It also includes a plain-text field to make the HTML visible.

The Clipboard behavior is worth noting. In general, operating systems allow for the contents on the system clipboard to have a “type” identifier.  If a chunk of HTML has the “type” identifier of “text/plain”, it will be treated as plain text on-paste.

<a href="https://app.campaign-genius.com/smartlink/BEEE-flic/schedule/schedule-pest-energy-issue"><img style="max-width: 100%;" alt="schedule_whitepaper" src="https://app.campaign-genius.com/smartimage/BEEE-flic/schedule/schedule-pest-energy-issue.jpg?tool=Schedule&miusc=tbfumbzb"/></a>

A significant number of applications and web pages also handle the “text/html” type. In this case, clipboard contents are processed by the HTML parser on-paste.  In plain English, the user is “pasting web-page contents” rather than plain text.

The Insert button on the Toolbox puts the template HTML on the clipboard with both type designations — “text/html” and “text/plain”. The user can paste into a program, such as an email client, to use the Toolbox template in that program.

Matthew Dunn