A client tasked us recently with a new project. They wanted people to be able to subscribe to an investor news feed on their site, then automatically send those individuals an email when investor information like investor news, earnings reports, and stockholder meetings is published. We built this client’s website on Sitefinity CMS, and luckily Sitefinity was able to handle most of this functionality out of the box for us.
With a few small customizations, we were able to automate this formerly manual task with almost no changes to our client’s content publishing workflow. Keep reading to learn how we utilized Sitefinity Dynamic Modules, Forms, Email Campaigns, and Event Hub to complete this project successfully.
The Olden Days - Import Export
Since day 1 with Sitefinity back in 2017, our client has been using Sitefinity’s forms module to collect email addresses for the investor list. Since they weren’t sending the emails from the CMS itself, each time they wanted to send an email to their subscribers, they would need to export their subscriber list to an Excel file from Sitefinity and import into their email marketing tool. Not the worst process, but not the most efficient either.
Building Blocks – Sitefinity Email Campaigns
Sitefinity comes with email marketing capability out of the box and it was logical to use it in this case. One of the nice things about using Sitefinity’s email campaigns for this project is that content editors can log in and change everything as needed without help from a developer – you'd expect no less from a content management system after all. Although they aren’t overly complex for this project, the email content, subject line, and email from address are all editable by users of the system. Sitefinity’s email marketing also includes a rich API that allows developers like me to easily create and send email campaigns as needed with code.
Connecting the Dots – Sitefinity EventHub
The key to this project was knowing from a code perspective when new investor information is published to the site, and Sitefinity EventHub is able to take care of that for us. EventHub is a mechanism that allows developers to write code to subscribe to events that are raised by the CMS and execute custom code when those events happen. In this case, events are things like a new blog post comment has been created, a new form response has been submitted, a media file has been downloaded, etc.
We’re using a dynamic module to store our news items in Sitefinity, so in this case I was interested in the Dynamic Content Created event. Using this event, our code gets a notification each time a story is published in Sitefinity. When this happens, we’re able to get a reference to the item that has been created and run validation rules as necessary before creating a new email campaign message. It is important to not send an email to hundreds of subscribers by mistake, so we built in some rules to check for the correct story category and to make sure the content editor selected the “Send email to investor list” option we created for this purpose on the data entry screen.
The Icing on the Cake – Sitefinity Marketing Analytics
Are you still with me? At this point, we have our investor form collecting responses, we’ve set up our marketing campaign, and created an EventHub event listener. Emails are flowing as expected. All that’s left to do is
watch some YouTube get back to work while Sitefinity collects analytics for us.
With Sitefinity email campaigns, we can see basic analytic information like open rate, delivery, and click rates. Not only that, but we can drill down and see specific subscribers who interacted with our message and how they interacted with it.
Going a step further, if I notice engagement is lower than I’d like it to be, I can create A / B tests to create multiple versions of the same campaign email to test out which version performs the best. That way, I can build on the things that optimize campaign objectives for future emails.