Gitlab hero border pattern left svg Gitlab hero border pattern right svg

Marketing Operations

On this page

Marketing Operations

Marketing Operations (MktgOps) supports the entire Marketing team as well as other teams within GitLab. MktgOps works closely with Sales Operations (SalesOps) to ensure information between systems is seamless and we are using consistent terminology in respective systems.

Tech Stack

For information regarding the tech stack at GitLab, please visit the Tech Stack Applications page of the Business Operations handbook where we maintain a comprehensive table of the tools used across the company.

Tools directly used by Marketing and maintained by Marketing Operations:

Working with Marketing Operations

MktgOps Motto: If it isn't an Issue, it isn't OUR issue.

The MktgOps team works from issues and issue boards. If you are needing our assistance with any project, please open an issue and use the ~MktgOps label anywhere within the GitLab repo.

MktgOps uses a global issue board and will capture any issue in any group/sub-group in the repo. There is also a Marketing Operations project within the Marketing project.

Labels to use:

Operations Work Cadence

The MktgOps team works in two week sprints which are tracked as Milestones at the GitLab.com level. Each Ops individual contributor (IC) is responsible for adding issues to the milestone that will be completed in the two week time frame. If needed, the IC will separate the main issue into smaller pieces that are workable segments of the larger request.

The MktgOps team will only create a milestone one beyond the current iteration, so at any given time there will be the current milestone and upcoming milestone, any other issue that is not included will be added into future milestones &/or added as work is completed in the current milestone.

A milestone cannot be closed nor marked complete until all associated handbook updates have been completed. Within every milestone there is an issue to track all changes and keep a running record of the handbook updates made. The handbook change issue will be created using the milestone_handbook_update issue template and automatically added to the Handbook Change Epic.

How-tos & FAQs

List Imports

The MktgOps team is responsible for importing records into Salesforce (SFDC) for both field events and prospecting. The process to follow can be found in the Business Operations section of the handbook.

There is also a request template in the Marketing Operations project within GitLab.

Webcast Setup

When creating a live or ondemand webcast it is important to integrate the event program across the platforms/programs used - GitLab Marketing site (about.gitlab.com), Marketo (Marketing Automation), Zoom (Webcast video software) and Salesforce (CRM). This provides transparency about the webcast to anyone with access to Salesforce, namely the Sales and Marketing teams.

For a comprehensive overview on how to set up a webcast, please visit the Business Operations section of the handbook.

Marketing Expense Tracking

GL Code Account Name Purpose
6100 Marketing Reserved for Marketing GL accounts
6110 Marketing Site All software subscriptions, agency fees and contract work intended to improve the marketing site
6120 Advertising All media buying costs as well as agency fees and software subscriptions related to media buying
6130 Events All event sponsorships, booth shipping, event travel, booth design, event production as well as agency fees and software costs related to events
6140 Email All 3rd party email sponsorships as well as agency fees and software costs related to mass email communications and marketing automation
6150 Brand All PR, AR, content, swag and branding costs
6160 Prospecting All costs related to prospecting efforts

Invoice Approval

Marketing Operations approves invoices in weekly batches by close of business Tuesday all invoices received will be properly coded and approved.

Lead Scoring, Lead Lifecycle, and MQL Criteria

A breakdown of scoring, lifecycle, and the criteria that drives MQL conversion can be found in the business operations handbook.

Campaign Cost Tracking

Marketing Program Managers track costs associated with campaigns - such as events, content, webcasts, etc. - by working with the Finance team to create custom tags. These tags can be applied to Expensify reports, corporate credit card charges, and vendor bills processed by Accounts Payable. Campaign expenses that are incurred by independent contractors should be clearly noted and included in their invoices to the company.

The Marketing Programs Team follows the steps below to create and use campaign tags:

  1. MPM receieves confirmation from responsible team (i.e. Field Marketing, Content, etc.) that the budget for the campaign has been approved.
  2. MPM sends an email request to the Accounts Payable including the requested tag, which typically follows the name of the Salesforce campaign.
  3. Finance opens the tag in NetSuite and Expensify, notifying the requester when the tag is live.
  4. Finance alerts the MPM (or requester) that the tag has been created.
  5. MPM updates the related issue description with the tag name

Things to Note:

Marketing Gearing Ratios

Gearing ratios are used as business drivers to forecast long term financial goals by function. Refer to the FP&A handbook for further details on how gearing ratios enable planning and forecasting.

The gearing ratios for marketing are as follows:

Email Management

Email database management is a core responsibility for MktgOps. Ensuring GitLab is following email best practices, in compliance with Global spam laws and overall health of active database are all priorities.

Email creation, campaigns, follow up reporting and sending is the responsibility of the Marketing Program Managers. To request an email of any kind, please see the instructions in the Business Ops section of the handbook.

Email Communication Policy

At GitLab, we strive to communicate with people in a way that is beneficial to them, most of our email marketing communications follow an explicit opt-in policy, although at times, we will communicate via email to people who have not explicitly opted-in. We do this to offer something of value (ex. an invite to a workshop, dinner, the opportunity to meet an industry leader, etc. Not an email inviting you to read a blog post) to the person. We always include the unsubscribe link in our communications and we respect the unsubscribe list. In addition to the unsubscribe button at the bottom of all of our emails, we have available our Email Subscription Center, where people can control their email communication preferences. There are currently four email segments.

Email Segments

Database segments and how someone subscribes to specific segment:

Types of Email

Breaking Change Emails
These are operation emails that can be sent on a very selective as needed basis. This is an operational-type email that overrides the unsubscribe and does not provide the opportunity for someone to opt-out. Usage example: GitLab Hosted billing change, Release update 9.0.0 changes, GitLab Page change and Old CI Runner clients. It is very important to have Engineering and/or Product team (whoever is requesting this type of email) help us narrow these announcements to the people that actually should be warned so we are communicating to a very specific targeted list.

Newsletter
Sent bi-monthly (every 2 weeks). Content Team is responsible for creating the content for each Newsletter.

Security Alerts
Sent on an as needed basis containing important information about any security patches, identified vulnerabilities, etc related to the GitLab platform. These emails are purely text based.

Webcasts
Invitation and/or notification emails sent about future webcasts.

Live Events
Invitation emails to attend a live event (VIP or Executive Lunch), meet-up, or in-person training. These emails are sent to a geo-locational subset of the overall segment. This type of email is also used when we are attending a conference and want to make people aware of any booth or event we may be holding and/or sponsoring.

Website Form Management

The forms on about.gitlab are embedded Marketo forms. Any changes to the fields, layout, labels and CSS occur within Marketo and can be pushed live without having to make any changes to the source file on GitLab. When needing to change or embed a whole new form, ping MktgOps on the related issue so appropriate form and subsequent workflows can be created.

Each Marketo form should push an event after successful submission to trigger events in Google Analytics. We use the following event labels to specify which events to fire.

  1. demo for static demos on /demo/ and /demo-leader/
  2. webcasts for forms on any page in /webcast/
  3. trial for the form on /free-trial/
  4. resources for forms on any page in /resources/
  5. events for forms on any page in /events/
  6. mktoLead legacy custom event label used on /public-sector/ and Newsletter subscription form submission events.
  7. mtkoformSubmit legacy custom event label used on /services/ and /sales/ contact forms.

We add the following line above return false in the form embed code. Please update the event label from demo to reflect the appropriate form completion.

dataLayer.push({event: 'demo', mktoFormId: form.getId()});

In the event Marketo has an outage and/or the forms go offline the forms with highest usage/visibility (Free Trial and Contact Us) have been recreated as Google forms that can be embedded on the related pages as a temporary measure to minimize any effect till the outage is past.