This page focuses on emails and nurture programs, owned and managed by Lifecycle Marketing, Marketing Campaigns, and Marketing Operations. The Campaigns Team is heavily focused on driving leads from Unknown > Inquiry > SAO, leveraging an "always on", logic-based and persona-driven nurture engine.
The Intelligent Email Nurture (launched 2021-12-17) aims at progressing leads from INQ > SAO, and leverages segment/region data to provide the *right offer to the right person at the right time - based on their segment, region, and placement in the buyer journey (lead funnel), with persona-focus as a second iteration.*
Related Handbook: Email Management
Key foundational elements to achieve this:
We have moved our email calendar to Asana! We will have email stakeholder syncs each Thursday to review emails for the upcoming two weeks. If you need the call added to your calendar, please ask Allie Klatzkin. To ensure this is done smoothly, please add your emails to the calendar as soon as you know that they are upcoming (regardless if you have all information).
All emails must be added to the calendar before the Email Stakeholder call the week before send. Emails added after the call will be pushed to the next week.
Due to limited seats, we will be providing 1-2 seats per team on the calendar. Please reach out to your team's DRI with any questions.
Calendar goal
Process to add emails to the calendar:
Email issue templates, in Campaigns, Marketing Ops, Corporate Marketing, and Field Marketing projects, will have the ~email-calendar label on them which will automatically add emails to the calendar. If your issue does not have the ~email-calendar label, please add it to ensure visibility for the calendar.
Steps to add to the Asana calendar:
In the event of an severity::1 (critical) security vulnerability email communication is needed during the holidays, please create an issue using the incident_communications template and ping in #marketing_programs tagging @marketing-programs and #mktgops. Follow addititonal directions here.
FY23-Q4: Lifecycle Marketing will be running a Q4 trial of reviewing all emails prior to send to ensure compliance with email best practices. Team members are responsible fo reviewing and optimizing their own emails, following the latest email best practices from lifecycle marketing. Lifecycle will be partnering will email stakeholders to improve email performance and drive the best results for our campaigns, as well as maintain brand consistency across all email touchpoints.
FY24-Q1: In Q1 of FY24, we will share out how we will continue to scale the email review process.
Email workflow: First step in requesting an email from lifecycle begins by creating an issue using the appropriate issue template in GitLab.
Submit final email for QA and scheduling
Request for MOps to build the email
Request for Lifecycle to determine promotional content
Upon request, we will work with the Corporate Events team to promote and follow-up from our sponsored corporate conferences.
Promotion will only be done for Tier 1 events and events that have ancillary events added to them. We will promote to audiences who have previously attended the event, in addition to local audiences that match the persona. For full criteria and steps, please see this spreadsheet.
The process must kick off a month before the event, to ensure we have all of the relevant information for promotion and follow-up.
Full newsletter request information can be found here.
The following outlines the technical QA that any email builder including Lifecycle, MOps, and Campaigns should complete after building an email. This also applies to anyone providing a secondary QA prior to deployment.
As the email builder, you are responsible for making sure the email is formatted properly according to our templates, that the links are formatted properly for tracking and use, that any tokenized sections are showing properly, the appropriate unsubscribe language is included, and any special requests from the business owner are displaying properly in the email in accordance with our template guidelines. You are not responsible for QA on spelling, grammar, dates/times, or links provided to you by the business owner (for example, if they drive to a webpage and provided you with the wrong link - as long as you formatted it properly in the email). If you notice inaccuracies in spelling/grammar, please update them in the email, but the business owner is responsibile for those. You have joint ownership with the business owner to make sure the email looks good and is easy for the user to read.
page.gitlab.com
address, there is NO /
at the end of the url. If you are driving to about.gitlab.com
, there should be a /
at the end of the url. For example, the token should look like this (with no https://): about.gitlab.com/sixteen/
or page.gitlab.com/sixteen
.https://
. This cannot be in a token because the Marketo tracking will not work properly. Your links should look like this in the email editor: https://{{my.LandingpageURL}}?{{my.utm}}
Localized email footer
snippet. You do need to make sure this appears in the text version.View by
to "Segmentation". Select the segmentation, then be sure to preview the email for each segmentation option to make sure it displays as you expect. You can also send yourself a sample using each segmentation if you would like. You will need to provide screenshots or samples to the business owner to review the content in use for each segment.Preview
. Confirm all of the tokenized sections fill in properly and the name of the event, date, and time are showing correctly.Preview
, hover over each link in the email and confirm the full URL is accurate with the correct UTM values. If any of this is incorrect, confirm that the https:// is hard-coded, check the {{my.landingpageURL}} token, and check the {{my.utm}} token. After you make any necessary changes, preview the email again.Preview
, if the text in the header appears to be too large, resize it to be smaller so the line breaks make sense and the text isn't overbearing.about.gitlab.com
pages, it is recommended that you fill out the form and make sure the response is captured in Marketo.The following outlines the business owner QA that the requestor (not builder) should complete before approving the email.
As the requestor/business owner, you are responsible for QA on content, spelling, grammar, dates/times, and links. You have joint ownership with the email builder to make sure the email looks good and is easy for the user to read, in line with our email best practices.
We created several GitLab labels for a better organization of each asset that we are adding to the intelligent nurture.
Below we explain the labels created and what each one is for:
The following shows the day of the week and cadence of the different streams in the Intelligent Nurture:
**The following process is the technical process for creating a new email send program that is then activated in the appropriate streams/channels of the Intelligent Nurture. The project management process is integrated into the epic/issue creation for our core tactics that would be dropped into the nurture (new content, webcasts, workshops, analyst reports).
A Campaign Folder
Type-ShortContentName
(i.e. ebook-scaledci
or webcast-simlifycicd
or wrkshp-security
)Master Email Programs (Intelligent Nurture)
Link to New Marketo Program
After you have created the Email Program (see above: Creating a nurture email program for the Intelligent Nurture) and tested your email (including checking UTM parameters), your email is ready to be activated in the Intelligent Nurture.
Work with the Campaigns Team to indicate the appropriate streams for the offer to be included (this is based on segment/region/funnel stage).
Type
section, select Program
Program Name
section, begin to type in the name of the corresponding email program (i.e. ebook-10stepsciso) and select the program you created for this offerSmart Campaign
section, select 01 Send Controller
Activate
if it is not an upcoming eventEdit Availability
if it is an upcoming event and set the "End Date" for the date of the event. This will automatically stop the email from sending when the event has taken place.The following is where different offer types should align in the email nurture streams. This is based on the essence of the offers, and the maturity of the person in terms of education about GitLab (i.e. advanced workshops are not a fit for RAW > INQ stream as these are leads who have taken no prior action with GitLab and should be receiving top funnel content).
SEE THIS DIAGRAM FOR WHERE CONTENT IS FIT FOR THE INTELLIGENT NURTURE
Because our intelligent nurture is setup calling to programs, we cannot use Marketo's Champion/Challenger to A/B test emails.
Instead, we should take the following steps:
Add it as a random sample in the send controller as shown in the flow below (use 50% for 2 versions, or split between 100% for more versions):
Please see the A/B testing section below for best practices for conducting an A/B test.
In an effort to ensure audiences are not receiving duplicate emails and to streamline our own processes, we will be updating our current approach for promoting events via Intelligent Nurture and 2 email blasts. For now, all add to nurture issues that have duplicate email blasts will be cancelled. We will roll out a more comprehensive process in February.
For additional context, please see the issue here.
What happens to Marketo when a contact is a member of a program equal to True.
Marketo within the engagement programs will try to send the number 1 email of the stream. If the contact does not comply with the requirements, Marketo will try to send the mail number 2 and so on until only 2 things happen: 1 – that the mail is sent or 2 – that no mail is sent from the stream and the contact becomes exhausted.
In the image below there is an explicit way on how Marketo “plays” with the send controller of 2 different emails on the same day.
The ONLY way for a contact to advance from one stream to another is when it generates enough interaction and its scoring increases enough to move it from RAW to INQ from INQ to MQL or from MQL to SAO.
Also the only way for a contact who already has exhausted status to change status is to continue adding new content in the streams.
Which would lead us to the next solution. Once the contacts fall into exhausted status they should be moved to a list of "Non-Responders" and then moved to a specific Nurture to increase interaction with the company.
Self Managed owners go through the Marketo Program
UTMs: ?utm_medium=email&utm_source=marketo&utm_campaign=trial-nurture&utm_content=(custom per email)
SaaS owners are now going through the program in Iterable.
UTMs: ?utm_source=Iterable&utm_medium=email&utm_campaign=trial-nurture
Sent through Iterable
We recenlty moved what was formerly known as "In-product emails" from Mailgun to our newer Iterable system. This will allow greater flexibility and iteration.
These are also known as:
We launched these for:
Iterations:
We relaunched these emails in Iterable and turned off Mailgun. Send time is now based on when the user joins GitLab and implemented skipping weekend send dates. In August 2023, we launched a welcome email and simplified some of the content. We will be iterating more on this program going forward.
Who’s part of this project?
So what’s the deal?
Basically, we have a series of emails that deploy to net new namespaces. The goal is to get free users to use features of the product. There are 4 tracks - adopt Create, adopt Verify, invite Team, try a Trial. Each track has emails that try to nudge users to take action. If a user takes the action referenced in the email, they will not get the next email in the series and will move to the next series.
Sisense data
From email and reply-to email
team @ gitlab.com
- which is a group inbox. Amy is also a member of this group inbox.
HTML files
All of the HTML email files are in Iterable.
For a more in-depth look at how these emails work, please review the Figma journey.
Open an issue using the Newsletter Request Template, including the newsletter send date in the issue title.
Epic of Past and Upcoming Newsletters
A day or two before the issue due date, create the newsletter draft. It's easiest to clone the last newsletter in Marketo:
YYYYMMDD_Newsletter Template
, right click and select Clone
.A Campaign Folder
.Name
field enter the name following the newsletter template naming format YYYYMMDD_Newsletter Name
.Folder
field select Newsletter & Security Release
. You do not need to enter a description.Bi-weekly Newsletters
, Monthly Newsletters
or Quarterly Newsletters
).Newsletter
.Edit draft
.HTML
button on the menu bar and edit the HTML so you don't inadvertently lose formatting.Email actions
from the menu at the top, then Send sample
to preview.Person
field, then in Send to
you can add any other emails you'd like to send a preview too. We recommend sending a sample to the newsletter requestor (or rebecca@ from the content team for marketing newsletters) for final approval.Approve and close
from the Email actions
menu.Schedule
box, enter the send date and select Recipient time zone
if the option is available.Head start
is checked too.Approval
box, click on Approve program
.Until our foundational Marketo database segmentations (noted in the overview at the top of this handbook page) are rolled out, there are challenges in targeting audiences efficiencly. If you would like to propose an MVC email, please remember that the tactical execution may be beyond bandwidth constraints.
For one-time emails (i.e. a blast to promote a program for which we do not receive leads):
A campaign folder
Ad-hoc (one time) emails
YYYYMMDD_NameOfEmail
where YYYYMMDD is date of send (i.e. 20210603_DORAsurvey)How-to videos:
Target list issue templates are an interim solution while foundational work is being complete for overall Marketo database audience stretegy for lifecycle marketing engine.
To assist in building email target lists, MktgOps has developed a series of Marketo smart lists that can be used to determine how active a lead is based on specific time increments. Call on these smart lists to get the most up to date active user list for your email sends. The smart lists are located in the Database section of Marketo. They are:
PLEASE READ IMPORTANT NOTE IN SECTION ABOVE PRIOR TO SUBMITTING
To request an email send, please open an issue for consideration of your MVC email idea, and provide as much detail as possible (especially around the audience), and please respect if the determination is that "the juice isn't worth the squeeze" and that we may want to delay the launch until some foundational audience segmentations are established. Please review the Email Review Protocol
section below for more detail.
SLA: There is a standard 5 Business Day SLA in place for new email requests. All details in the "Submitter Checklist" of the issue must be complete in order to be triaged to the appropriate Campaign Manager and/or Lifecycle Marketing Manager.
Assign issues to: You must assign issues to the corresponding Lifecycle Marketing Manager for review before send.
@aklatzkin
: Global, AMER, Corporate Events, Newsletters@dambrold
: APAC, EMEA, Intelligent NurtureAdd the issue to the Asana email calendar: By default, issues will add the label for ~"email-calendar", you will need to add the label for your audience as well:
*Urgent security emails are exempt from this SLA.
All links in email sends, going to about.gitlab.com will need to be appended with utm parameters, following the nomenclature outlined in this document. This is the way we track and give attribution to emails.
Below are the information from the issue template that will need to be filled out before the Campaign Manager will create the email in the appropriate system:
Go to this page to read more about email management and the different types of emails.
Marketing related ad-hoc emails are sent at the discretion of the Campaigns team.
Terms of Service or Privacy Policy updates that impact all users must be announced on the company meeting, in the #whats-happening-at-gitlab
and #community-advocates
Slack channels, and approved according to the table below prior to submitting the Email Request.
Support and Security emails sent to a small subset of users should be announced in #community-advocates
and #support_escalations
Slack channels, and mentioned in #whats-happening-at-gitlab
if relevant.
The approval table below applies to non-Marketing emails.
Users to be contacted | Approval by |
---|---|
< 1,000 | reply-to owner |
1,001-4,999 | PR, reply-to owner, community advocate |
5,000-499,999 | PR, reply-to owner, community advocate, director+ in originating department |
500,000+ | PR, reply-to owner, community advocate, director+ in originating department, e-group member |
** Please see our most up to date email best practices in our guide here. **
Buttons should be no longer than 25 characters - 14 characters as a standard
Add your tests to the A/B testing tracker here
To view current benchmarks in Marketo, go to the Email Insights Tab.
Delivery Rate:
Our delivery rate should be in the high 90s. Anything below this number needs to be addressed. A low delivery rate could be indicative of two things: poor list quality or the wrong email service provider.
How is the delivery rate calculated? Number of emails delivered divided by number of emails sent.
Example: 950/1000 = 95% Delivery Rate.
Open Rate:
Our email open rate is directly tied to our subject line and possibly our subheader. What is considered a good open rate will vary by industry, but on average, a healthy open rate may be anywhere between 15%-25%.
If our open rate is low, consider testing different subject lines or preheaders to see what style works best with our customers. How is the open rate calculated? Number of emails opened divided by the number of emails delivered.
Example: 200/1000 = 20% Open Rate
Click To Open Rate:
There are several factors which could go into a low click-to-open rate, such as our email design, our content, our call to action — really any element in the body of our email.
It is a little more challenging to isolate what may be causing a low click-to-open rate, which is why we need to set up some A/B test splits to determine the cause.
How to calculate the Click To Open Rate: Unique Clicks divided by number of emails open.
Example: 50/200 = 25%
Opt-Out Rate:
Generally a good (low) unsubscribe (or opt-out rate) is below 0.2%. But anything above 1% is a problem. Determining why customers are opting out can be a challenge, so be proactive. Set up a brief survey for people who do opt out asking why.
How is the Opt-out rate calculated? Total Opt-outs divided by the number of emails delivered.
Example: 5/950 = 0.5% Unsubscribe Rate.
Intelligent Nurture Reporting Process
All Nurtures within intelligent nurture have their link directly to their specific report.
Which are formed as follows:
ENTERPRISE NURTURE:
MID-MARKET NURTURE:
PUBSEC NURTURE:
SMB NURTURE:
NO-SEGMENT NURTURE:
ALL-REMOTE NURTURE
LOCALIZED NURTURE:
To be able to extract a complete report of email metrics, you just must click on the link corresponding to the Nurture where your email is.
Also, in case of not having access to Marketo to download the report you can go to the following folder where the reports of each nurture are uploaded on a monthly basis. Intelligent Nurture KPI
What are email templates? An email template is a reusable HTML file that is used to build email campaigns (according to Litmus).
Why are email templates important? Using an email template allows you to produce campaigns faster, since the underlying code is already written. Instead of having to rewrite an entire email from scratch for every send, you can simply add copy, images, and links to an existing template before testing and sending it to your subscribers (according to Litmus).
What email templates are available for us to use? In Marketo (Design Studio > Email Templates), the following email templates are available:
Template Name in MKTO | Use For | Image Specs (px, w x h) | Notes |
---|---|---|---|
A - Event Invite v3.0 | Events or asset downloads | Header background image - Transparent background 600x345 | Top button is removable, The text version will need to be updated manually due to limitations with marketo variables |
B - Advanced modular template - light mode | Larger events/assets with more modules to add with speakers | Header - Transparent background 600x345, Speaker images - 300x300 (2x the size) | Do not use all modules at once, The text version will need to be updated manually due to limitations with marketo variables |
C - Simple email template | Assets/webcasts/events/anything | Background image - png 600x wide. Transparent background | Only use with 1 CTA |
D - Letter format v1.0 | Any letter-like communication such as account update | N/A | N/A |
E - Newsletter Dark Mode | DevOps Download developer newsletter only | The only image we swap out is the background image of the release section - 600px wide. The top image (infinity loop) is 600px wide also. | For DevOps Download newsletter only |
F - Level Up Certification Invite Template | Level-up certification content | TBD | N/A |
G - Event Invite with 2 buttons | Webcast invitations, events, ABM, anything really | Headline background image - 600x345; Speaker images - 300x300 (2x the size) | The text version will need to be updated manually due to limitations with marketo variables |
H - Advanced modular template | Larger events/assets with more modules to add with speakers | Transparent background 600x345, Speaker images - 300x300 (2x the size) | Do not use all modules at once, The text version will need to be updated manually due to limitations with marketo variables |
Additional links/info:
Template notes
If you don't have Marketo access and would like to see what the email templates look like, please view the project Epic and corresponding issues.
NOTE: It is very important that you format your copy to align with the design of the email template you're using. This will improve efficiency of building emails, and ensure copy is best fit to the layout.
What if I want a custom email template? You may submit a request for a custom layout, but please note that the critical priority currently is to efficiently launch emails and nurtures into market. In your request, please tag @aklatzkin and clearly describe why the existing layout is not satisfactory, how often and broadly the requested template will be used, and quantifiable benefits we anticipate from the new layout. To reiterate: Upon implementation of the critical emails and nurtures, we plan to devote more time and energy to developing and testing new templates, however the launch of lifecycle emails takes precedence over these requests.
All Campaign Managers and reviewers should adhere to the following protocol for every marketing email that is sent to ensure brand consistency and quality in our email program. While the owner of the email should review the email, they must also assign the emails to the corresponding Lifecycle Marketing Manager as listed on the email templates.
Marketo is the primary system for all marketing emails and the regularly scheduled security updates. Iterable or Marketo should be used for emails to gitlab.com users as these users are not in our marketing systems (unless they have signed up for content).
To send an operational email, fill out an issue and follow protocol found here.
In some cases, when invitations need to be more specific for an event, the Sales Nominated flows are used to allow sales to nominate who will receive the invite.
Note: if someone is nominated, but is unmailable (due to unsubscribe, invalid email, or hard bounce), they will not receive the invitation.
Sales Nominated automation smart lists are applied to Marketo program templates where sales nominated flows are relevant.
Review the Email:
Send sample to the DRI for the program (i.e. workshop owner) who is responsible for testing and QAing the email. The email can be found under the Assets
folder in the program. For some programs, the Marketo My Tokens are included in the Sales Nominated invite to make the email setup more efficient.
Review the smartlist and schedule recurrence of email:
Schedule Recurrence
You can remove specific recurrences of scheduled sales nominated deployments. The FMC is responsible for this change for field marketing activities, and campaign managers are responsible for this change for demand generation activities.
To cancel a send, follow these directions.
For the following, you can update 1 issue then drag it down (at least for email descriptions):
Upload issue to the campaigns project using the import button. https://gitlab.com/gitlab-com/marketing/demand-generation/campaigns/uploads/c644b04f8460d6f1007e731093ff16fc/Screen_Shot_2022-08-11_at_2.10.56_PM.png
Example:
Add to google calendar | Add to other calendar |
Note: gmail inboxes a majority of our sends, according to litmus analytics pixel data. Outlook makes up 3-15% of our recipients. This is exactly what Limus did:
It’s virtually impossible to support all the calendar applications available. To help us understand what calendar tools to focus on, we took a look at our Email Analytics data. The most popular email clients our subscribers use are Apple Mail, Gmail, and Outlook. Using this data, we focused our efforts on creating a “add to calendar” button that would be compatible with iCalendar, Google’s calendar, and Outlook’s calendar. Learn More Here
<a href=“http://www.google.com/calendar/event?action=TEMPLATE&dates=20200206T035000Z%2F20200206T065000Z&text=Nouts%20test%20event&location=5107%20Oakbrook%20Drive%2C%20Durham%2C%20NC&details=nout's%20test%20event%20”>Add to Google calendar</a>
<a href=“link goes here”>Add to other calendar</a>