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 he 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.
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 Verticurl 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.
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
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).
Program Namesection, begin to type in the name of the corresponding email program (i.e. ebook-10stepsciso) and select the program you created for this offer
Smart Campaignsection, select
01 Send Controller
Activateif it is not an upcoming event
Edit Availabilityif 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.
UTMs: ?utm_medium=email&utm_source=marketo&utm_campaign=trial-nurture&utm_content=(custom per email)
Sent through Mailgun
These emails are sent “from the product” meaning the growth engineers build the emails in the product and use Mailgun as the SMTP. All of these emails are tagged “marketing” in Mailgun so when you view analytics, it’s an aggregate look for all of these emails. There is also a Mailgun unsubscribe link. All of this data lives in Mailgun. To see all the emails, click here
To see slide deck, click here
These are also known as:
We launched these for:
We changed send time from 9am UTC every day (5am on the US east coast, 2am pacific) to 4PM UTC. This Change went live April 29, 2021. We could use April 30th forward for a comparison.
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 3 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.
Keep in mind that:
From email and reply-to email
team @ gitlab.com - which is a group inbox. Amy is also a member of this group inbox.
All of the HTML email files are in Litmus.
For more in-depth information about how these emails are implemented, please view the project epic and all associated project issues.
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
A Campaign Folder.
Namefield enter the name following the newsletter template naming format
Newsletter & Security Release. You do not need to enter a description.
HTMLbutton on the menu bar and edit the HTML so you don't inadvertently lose formatting.
Email actionsfrom the menu at the top, then
Send sampleto preview.
Personfield, then in
Send toyou 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 closefrom the
Schedulebox, enter the send date and select
Recipient time zoneif the option is available.
Head startis checked too.
Approvalbox, click on
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_NameOfEmailwhere YYYYMMDD is date of send (i.e. 20210603_DORAsurvey)
Target list issue templates are an interim solution while foundational work is being complete for overall Marketo database audience stretegy for lifecycle marketing engine (DRI: Nout Boctor-Smith).
sales segmentMarketo segment
What to do with DemandBase Lists: In the Marketo smartlist, add filter for either
Account ID (18) or
Email Address (depending on what is provided in the DemandBase target list export that the requester has submited) and paste the list of Account IDs or Email Address from the DemandBase target list export.
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 Nurture
Add 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.
#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
#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.
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.
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%
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:
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||Notes|
|A - Event Invite v3.0||Events or asset downloads||Background image - Transparent background 600px wide||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; Transparent background 600 px wide, Speaker images - 300px wide||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 - 600px wide; Speaker images - 300px wide||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 600 px wide, Speaker images - 300px wide||Do not use all modules at once, The text version will need to be updated manually due to limitations with marketo variables|
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 @nbsmith 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.
We use both Marketo and MailJet to send ad-hoc emails. Marketo is the primary system for all marketing emails and the regularly scheduled security updates. MailJet 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). Examples of emails to be sent through MailJet: Critical security updates, support updates that impact a specific subset of users, suspicious account activity notifications.
To send via MailJet, 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:
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
|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>