Newsletter Stats from the Pencilneck CMS

So our CMS, the Pencilneck CMS includes a email newsletter management system. With a little time between finishing one project & starting the next, I took some time to analyze the data we generate – in part out of self-interest, but also as part of a new project to provide additional analytics tools for our clients. Having spent the better part of a morning generating data, I thought I’d share this information with the general public. I’d love to know how this corresponds to the data from other newsletter delivery systems.

All times report are Pacific Time. All hours cited include the entirety of the hour. For instnace, 8AM means all time between 8:00:00 and 8:59:59, inclusive. For time-of-day reporting, I divided up the hours into 4 blocks – unequal in length but useful for business hours:

  • Midnight-7AM: the Pre-work period
  • 8AM – 11AM: the morning at work.
  • Noon-4PM: the afternoon at work.
  • 5pm-11PMt: the evening at home

Number of Newsletter Recipients: 7,956,301

These first few numbers are based on the number of sends, so when our clients decided to send a newsletter.

Most Popular Day to Send a Newsletter: Tuesday (34%), Monday (28%).
Least Popular Day to Send a Newsletter: Saturday(1%), Friday (5%).

Most Popular Time of Day to Send a Newsletter: 8AM-11AM (40%), Midnight-7AM (25%)
Least Popular Time of Day to Send a Newsletter: 5PM-11PM (2%),Noon-4PM(10%)

Most Popular Day & Time to Send: Tuesday Midnight-7AM (34%), Monday 8AM-11AM (30%)
Least Popular Day & Time to Send: Friday 5PM-11PM(1%), Saturday 5PM-11PM (3%)

These next set of numbers are the “best” results based on open rate. The Open rate was calculated by dividing the number of newsletters that were opened vs the number of newsletters received. A newsletter is considered received if our system did not receive any bounce notifications regarding the delivery.

Best Day to Send a newsletter: Sunday (35%), Monday (33%)
Worst Day to Send a newsletter: Saturday (2%), Friday (8%)

Best Time of Day to send a newsletter: Midnight-7AM (40%), 5PM-11PM(35%)
Worst Time of Day to send a newsletter: 8AM-11AM (5%), Noon-4PM (8%)

Best Day & Time to send a newsletter: Monday Midnight-7AM (65%), Sunday 5PM-11PM(45%)
Worst Day & Time to send a newsletter: Saturday Midnight-7AM(1%),Friday Noon-4PM(3%). And worth mention is Wednesday Noon-4PM (4%).

We also, by way of Geolocation via IP address, can track where a recipient opens a Newsletter. For our clients, we group this by Province & State for Canada, US, Mexico & Australia, and the rest of the world simply by Country. I discounted all geo-data with less than 100 total recipients, to single out places like Ghana & its 100% open rate based on 4 recipients. Actually, the same recipient, 4 times.

Best open rate, by Recipient location: Ontario (65%), British Columbia (45%)
Worst open rate, by recipient location: Alberta (4%), Minnesota (5%)

Finally, I looked at links, and where they appear within the source code. To do this, I stripped all the header & styling information from the HTML source, leaving just the body, and divided that into quarters to see which links were the most clicked on. These results are probably not that surprising, but nevertheless. I determined the click rate by calculating the total number of recipients who clicked on a link vs the total number of opened newsletters. I then split that up based on which portion of the newsletter the click was in.

Overall clickthrough rate: 11%.
Average number of links per newsletter: 6
Most links in a newsletter: 104

Clickthrough rate for links in the third quarter of content: 9%
Clickthrough rate for links in the first quarter of content:
19%.
Clickthrough rate for links in the second quarter of content
: 8%
Clickthrough rate for links in the third quarter of content
: 4%
Clickthrough rate for links in the last quarter of content
: 15%

Given these numbers, I then calculated the overall percentage of links per quarter of content:

Links found in the first quarter of content: 14%
Links found in the second quarter of content: 46%
Links found in the third quarter of content: 28%
Links found in the last quarter of content: 12%

I’m not entirely sure what to make of all this. Some other random notes:

  • In general, Ontario & BC have a vastly higher open rate than anywhere else in Canada.
  • For the US, the 2 coasts open a rate about twice as much as middle America.
  • Germans are the most diligent European newsletter recipients.
  • It seems fairly clear that the best way to get someone to read your newsletter is to have it arrive before they get to their desk, but not so early as to have a lot of mail arrive between it arriving and the recipient checking their mail. Monday mornings are definitely the best for this.
  • Wednesday shows a general dipping in all stats. It really is hump day.
  • People skim newsletters: That’s why the top & bottom of your newsletter have the best click-through rates. This is likely partially explained by “Click here to view online” & Logos at the top & Unsubscribe links at the bottom of newsletters.
  • I’d love to do some signal-vs-noise analysis of newsletter – that, the clickthrough rates based on % of content that IS as link vs % of content that is NOT a link. My belief is that briefer newsletters do better.

I’ve stored all this data, along with the queries used to generate it all so I can now do this semi-regularly. Ideally, I’ll find some time to craft a simple API on this so that anyone could pull this anonymous, aggregate data to use, but I suspect that will be a long-term back-burner sort of project.

Better redirection

For sites powered by the Pencilneck CMS, we’ve for ages and ages had what we called “Friendly URLs”. These are common across CMS’s, blogs, etc (some ironically, I don’t use them on Tannock.net because I’m too lazy to reconfigure my config & htaccess files). Back in the day, we did this by physically writing a folder to the server. Which was not ideal. So we then switched to redirected using ColdFusions onMissingTemplate() handler. In this instance, we have the IIS server trigger a 404 error, which calls a custom CFM file, which does not, in fact, exist. This triggers the sites onMissingTemplate() handler to actually read the URL and load up the appropriate page from the DB. This works well, but there’s a fair amount of overhead. Vs. the physical stub option, it added between 400-600 ms – not a huge amount, but enough to cause a noticeable overhead on busy sites.

But a while back for a larger project, we installed the Helicon ISAPI rewrite module for IIS. I’ve been using this for a variety of things on sites, such as locking down directories for documents, redirecting particular scripts elsewhere, etc. But I hadn’t set it up to handle our friendly URL system.

This past weekend, I finally spent the time to test out the difference – and it’s impressive. Despite running exactly the same script as the current OnMissingTemplate() handler calls, it runs much faster – on average, 80-100 ms (vs. 400-600 previously) – a significant decrease – I’m guessing because there’s overhead from IIS to generate the 404, hand that off to the custom 404 page, which doesn’t exist, so hands it off to the onMissingTemplate() handler which then calls this script. Now, the the ISAPI rewrite condition kicks in and it calls the script directly.

And now all of our sites are slightly more responsive, which is better for everyone!

%d bloggers like this: