Email Notification Templates
1. Overview
Cheddar boasts a robust customer communication system which can be used to notify customers regarding several different events and scenarios. With custom SMTP settings, FROM and BCC addressing, subject line, and responsive content templates, merchants have all of the tools necessary for professional billing email communication. We have leveraged the open-source Smarty template engine in order to provide as much flexibility to merchants as possible when presenting email content to customers.
While providing basic communication with your customers upon customer activity, Cheddar also uses the email notification and template system to provide automated dunning management so you don't need to spend time tracking down customers with declined or expired cards.
1.1 Configuration Checklist
The templates include some sensible default content, but you'll probably want to make a few small changes:
- Enabling the emails you'd like Cheddar to send on your company's behalf.
- Edit the email header and footer to include your brand colors and logo.
- Review the default content of each enabled template. Pay particular attention to the New Subscription, Subscription Change, and Bill Reminder templates to ensure you are maximizing your opportunities for conversion.
Many, many other components of the system can be customized, but most companies get great results by configuring the three listed above first.
1.2 Expert Template Design
Need help implementing branded templates for your company? Cheddar offers email template branding packages starting at $750. Contact us to find out more.
2. General Settings
2.1 Enabling the Email Communication System
Enabling Cheddar's email system is as simple as clicking a button. Head over to Configuration->Customer Communication and click the button labeled Enable Email Notifications. Once enabled, Cheddar is immediately set up to send email notifications using the default settings.
2.2 Toggle Notification Types
You may choose to turn off any individual email notification type. Simply uncheck the box next to the notification type you'd like to disable.
2.3 FROM Name and Address, Blind Carbon Copy (BCC)
By default, all emails are sent with the FROM name set as your company's name, and the FROM address set as product account owner's email address. You can change the defaults to any name and valid email address. We recommend using a memorable, identifiable email address like billing@yourcompany.com
. You may also override this default for an individual notification type.
Using the BCC feature can prove to be extremely valuable. Many merchants use BCC to "log" all emails sent to customers. This is valuable for several reasons but primarily because you are able to quickly see if a specific email was sent and what it contained.
2.4 Email Subject
Each template type includes it's own customizable email subject line. The subject is Smarty-enabled, just like the content templates. In other words, all the flexibility provided within the templates is also available for the subject line.
2.5 Define your SMTP Settings
By default, Cheddar uses SMTP settings common to all product accounts. Sending email notification to customers of several different companies via the same SMTP server has some distinct disadvantages and so we do not recommend using the default SMTP for anything but testing purposes. This is why we have provided the option for the merchant to specify SMTP settings specific to their business. Setting up SMTP is fairly straightforward. If you've ever setup a desktop email client like Apple Mail, Microsoft Outlook Express, Mozilla Thunderbird, etc, then you'll find this to be a breeze. If you don't have your own SMTP, we recommend using SendGrid.
3. Template Configuration
Here, we'll cover the information you'll need to set up your individual email templates.
For a general description of what each email notification does, check out the Notification Types documentation.
3.1 Smarty Templates
Cheddar's email notification templates are built using the Smarty Template Engine. Smarty is a very powerful system that allows you full control over the content of the email notifications sent to your customers. To get started, you'll probably be most interested in the Smarty For Template Designers section of the Smarty documentation.
While each template's content is configured separately, all your templates are wrapped in one global header and footer. The templates can be fully branded to your specifications just like a website.
Before each html email is sent, we extract a text version to send alongside it, in the fairly rare case your customers can only receive text emails. We convert the html version to markdown using a basic html parser. The result is generally the copy extracted from the html with paragraph spacing. You can see the extracted text version while previewing your templates.
3.2 Editing Code, Previewing, and Testing
CodeMirror Editor
The template code editor uses the open-source CodeMirror, a versatile text editor for the browser. The editor provides some convenient features found in many text editors including syntax highlighting, code linting, and inline error reporting. Usage of the editor is fairly straightforward but there are some complex features. If you have any questions about editing code, please let us know. We're happy to help.
Previewing Past Events
When using the preview functionality of the template editor, you may use a real-world event that has occurred on your account in the past. Simply choose the event you'd like to preview from the dropdown. If you don't have any real-world events yet, you'll be previewing a fake event that we've built to best exercise the features of each notification type. Using an event from the past will best represent your setup so be sure to fine-tune your notification content after you've had some activity.
Testing
The preview is presented to you embedded in your browser. Unfortunately, different email clients will render your emails in slightly different ways so it's important to test. We've completed a ton of testing on the default templates. If you've made significant changes to the defaults, it's a good idea to run some additional tests using your own historic activity.
In preview mode, you are also presented with the option to send the preview to an email address so you can see the email in it's natural habitat, a real email client. You might also consider using this feature to send an email preview to an email testing service like Litmus or Email on Acid.
Fullscreen Mode
To make it easy for you to dig in, edit, and preview your email content templates, we've developed a fullscreen option for the editor and preview. Click the "Fullscreen" button to use the full real estate of your browser window as the workspace for editing and previewing your notification content. Protip: If you're in fullscreen mode, you'll see a mobile preview of your email in addition to a standard desktop preview.
W3C Validation
When you are in preview mode, the system automatically validates the preview markup against the W3C Markup Validation Service to make it easy to check your markup. It's not a moral imperative to have perfectly valid markup but it's a good idea. If your markup isn't found to be valid, click the "Details" link in the "W3C Validation" section of the preview to see the full validation report.
3.3 Header and Footer
The header and footer are used on every email notification. The default header and footer have been carefully designed and coded using modern best-practices to be deliverable, spam-friendly, and attractive on both desktop email clients and mobile devices. In order to make CSS customization a little easier, Cheddar is using Smarty assign variables in the email's <head>
. These styles get appropriately placed inline on each element that calls for them. This means changing things like your brand color (used for buttons and links) or font styles can all be done in one place and applied to each necessary element properly. If you would like to learn more about the power of Smarty assign variables, you can check out their documentation chapter on Built-in Functions
You can edit the global template header and footer from within any of the default templates. To show the header and footer content, click on the full-width green bar at the top or bottom of any template. From here, you can edit and save any changes you'd like to make. Once you've saved these changes, they'll be applied to the header and footer of all of your email templates. The flash message at the top of the screen will confirm that your changes have been applied.
3.4 Calls-to-Action
The default notification templates each contain one prominent call-to-action button in the global footer. Using Smarty assign variables, the call to action text and link can be conditionally reassigned depending on the context of the intended message of the email. A single, clear call-to-action will help your users end up exactly where you'd like them to, whether that be to update their payment method or to visit your homepage.
By default, the call-to-action url is the {$customerAccountUri}
and the text of the button is "Go to {$product.name}
":
{* Call to Action *}
{assign "call_to_action_url" "{$customerAccountUri}"}
{assign "call_to_action_text" "Go to {$product.name}"}
You can set the {$customerAccountUri}
value in Configuration -> Product Settings. You may choose to override the global defaults directly in the header by changing the values in the assign
statements. Some templates override the global default based on the context of the email. For example, in the Declined Payment template, the text of the call-to-action button is changed to "Update Your Payment Information".
3.5 Invoice Layout
The invoice layout is used on the Payment Receipt and the Payment Declined notifications. Our default invoice is a responsive html table that contains various Smarty variables that pertain to the customer, as well as line items for each item on the invoice. Some merchants might find the need to further customize this invoice, but for most users, this generic invoice should be sufficient.
3.6 Passing Metadata
Any piece of data shown in the syntax reference within the template editor is available within the template. The flexibility available is surprising. Most notably, a little gem called {$metaData.userDefined}
can be used to pass any arbitrary data you choose to the templates.
One piece of data which can be a bit restrictive is the {$customerAccountUri}
. If your customer's accounts are within a dedicated subdomain, say http://[username].mysite.com/account
, you wouldn't be able to use {$customerAccountUri}
alone. You could, for example, provide the customer's subdomain as a metaData item. In the email templates, reference the subdomain when building the customer's account link. Maybe something like:
{if !empty($metaData.meta1)}
http://{$metaData.meta1}.mysite.com/account
{/if}
More information about customer metaData can be found here.
3.7 How to Revert to Default Content
If you haven't ever customized any of your email notifications, you're already using the responsive default email template content. If you've made some modifications and would like to revert back to the default content, simply delete the section you wish to revert. You can revert either the header, footer, body, or any combination of the three sections. The flash message at the top of the screen will indicate when a section has been reverted.
4. Notification Types
Cheddar provides several notification types. You may override the default FROM name and address, and customize subject line (also Smarty enabled) for each notification type. Each type may be toggled on/off and the content of each may be customize entirely to your specifications.
4.1 New Subscription
The New Subscription email is sent to a customer immediately after they are subscribed to a pricing plan for the very first time. Included in this template are conditionals that offer different versions of the email depending on the user's plan and payment method.
A great use-case for a New Subscription email is for upselling customers after a free trial. If your customer is on a paid plan but does not have a payment method on file, you've got a great opportunity to convert this customer with a good call-to-action. You may benefit from adjusting the copy to more closely reflect your product and plans.
4.2 Subscription Change
This notification is sent upon a pricing plan change, whether that change be an upgrade or a downgrade. Conditionals within the content offer different versions of the email depending on the user's plan and payment method.
4.3 Bill Reminder
This notification is sent in advance of a future invoice coming due. By default, a single notification is sent 2 days before the invoice billingDatetime
. This can be customized in your Product Settings
You may choose to send reminders in advance of every invoice or disable bill reminders after the first invoice.
Conditionals offer different versions of the email depending on whether or not this invoice is the first one ever sent to the user, the user's plan, and payment method.
A great use-case for a bill reminder is for free trials. You may configure your plans to issue a free trial for, say, 10 days without a credit card or other payment method. Enabling a free trial for your service without a method of payment will greatly increase your signup rate, giving you a better chance of converting free trial customers to paying customers. Cheddar will automatically send free trial customers a reminder that they must add a method of payment to their account to continue using your wonderful service after the trial expires.
Another great use-case for bill reminders is if your product has a freemium billing model. If it's your user's first invoice, and they're on a free plan, you can encourage your users to upgrade from the free plan to one that offers more services.
4.4 Payment Receipt
A Payment Receipt is sent whenever a transaction runs. Only successful transactions generate a Payment Receipt email. A successful transaction is any approved, non-negative transaction. This means a user receives a Payment Receipt notification for transactions with an amount of zero or greater.
Zero dollar receipts may be turned off or leveraged for other purposes. You may use the Smarty system to alter the content of the Payment Receipt notification based on whether or not the customer had a positive charge or customized by pricing plan code. Often, zero dollar receipt notifications are used to send "drip marketing" up-sell emails to customers who don't yet pay you.
Payment receipt emails can also be sent manually by clicking the 'Send Email Receipt' button located at the bottom of each customer invoice page in the Cheddar user interface.
4.5 Payment Declined
Payment Declined email notifications are generated when a customer's payment is declined. This notification type is especially useful in notifying customers about problems with their payment methods, and offering the customer an easy way to remedy the problem. Making it easy for the customer to fix problems with their payment methods means you get paid.
The default content for Payment Declined emails includes conditionals to switch the messaging for situations like when a signup failed due to a decline, or the decline is for a one-time invoice rather than a recurring one, or just a standard recurring decline, among other contexts.
4.6 Payment Refund/Void
Payment Refund/Void email notifications are generated when a customer's payment is partially refunded, fully refunded, or voided.
4.7 Payment Method Expiring
Payment Method Expiring notifications are invaluable in managing the inevitable expired credit card or other payment method. These notifications are sent to customers 14, 7 and 2 days prior to the current invoice date if the payment method on file will expire before the invoice due date or has already expired.
This event is by far the highest volume vector for cancellations. Be sure to curate this template content to maximize the likelihood that the customer will update their payment method so you get paid.
We have ways of avoiding expiring credit cards altogether. If you'd like to learn more about how we can decrease your cancellations and increase your revenue by as much as 10%, just contact us.
4.8 Canceled Non-Payment
This notification is sent to customers who have been auto-canceled due to non-payment.
One non-payment scenario is when a customer's card is declined too many times. By default, Cheddar retries a declined payment every couple of days. After a few attempts, the customer's subscription is auto-canceled. You can also customize the dunning schedule.
Another scenario is a customer who is subscribed to a paid plan but does not have a valid payment method on file. When the first bill becomes due and the customer has not added a method of payment to their account, the account is auto-canceled. The notification's call-to-action encourages the customer to re-activate their subscription by adding a payment method.
4.9 Canceled Expired Method
This notification is sent to customers who have been auto-canceled due to an expired card at the time of an invoice bill date. A customer's subscription is immediately canceled if the invoice is due to be billed and the customer's current payment method on file is expired. The notification's call-to-action encourages the customer to re-activate their subscription by updating their payment method.
4.10 Canceled Custom Reason
This notification is sent to customers who have been canceled at the customer's request or other manual cancellation.
5. Improving Deliverability
If you don't already have a SPF Record setup for your domain, you should do that. It's a reliable way to define hosts that are permitted to send email on behalf of your domain.
SMTP service providers usually have a good tutorial on setting up a SPF record to permit their servers to send mail as you. For example, SendGrid has a good article on setting up a SPF record to permit their servers as senders. SendGrid is used by default to send mail but if you're using your own SMTP, you'll want to write your SPF record to permit your chosen service as sender.
Assuming you already have a SPF record, you'll want to add your SMTP provider as a permitted sender. This can be accomplished with a small addition to the record. Here's an example of a record that indicates that Google Apps, SendGrid, and Cheddar are permitted to send mail on your behalf:
v=spf1 a mx include:_spf.google.com include:sendgrid.net include:cheddargetter.com ~all