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

Marketing Operations

Marketing Operations

Marketing Operations (MktgOps) supports the entire Marketing team to streamline processes and manage related tools. Due to those tools, we often support other teams at GitLab as well. MktgOps works closely with Sales Operations (SalesOps) to ensure information between systems is seamless, data is as accurate as possible and terminology is consistent in respective systems. Not only are we assisting with marketing operations but we are also involved in the operations of marketing, such as the budget and strategies.

Important Resources

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.

The main tools used by Marketing and integrated with Salesforce are:

Other 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.

Operational Timeline of Changes

Periodically Marketing Operations makes significant changes to our system and processes that affect overall tools, data and reporting or uncovers significant changes that affected reporting. As such we have an Operational timeline of events. The MktgOps team updates this document as needed as changes are made.

How-tos & FAQs

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
6060 Software Subscriptions All software subscriptions
6100 Marketing Reserved for Marketing GL accounts
6110 Marketing Site Not used - All 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 Not used - All costs related to prospecting efforts

Invoice Approval

Marketing Operations approves any invoices that have not already been coded and approved through a Finance issue or that exceed the original cost estimate. We make use of Tipalti for this process. Team leads will confirm that services were performed or products were received also through Tipalti. Campaign tags are used to track costs related to events and campaigns.

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. Campaign 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 with the appropriate tag and included in their invoices to the company. We then use these accumulated campaign tag costs for budget to actual analysis as well as to update the Salesforce campaigns with actual costs.

The following steps are used to create and manage campaign tags:

  1. Event Owners create the campaign tag in the budget document as well as add a link to a Finance issue if it exists.
  2. Finance is notified by the budget document to open the tag in NetSuite, which then updates Expensify nightly.
  3. Event Owners create the Finance issue for approvals and the MPM issue for tracking and add the same tag to both.
  4. MPM receives confirmation from responsible team (i.e. Field Marketing, Content, etc.) that the budget for the campaign has been approved and uses this as the exact same name to set up the Salesforce campaign.

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 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 transactional emails, almost always to our user base, that provide very selective needed information. This is an operational-type email that overrides the unsubscribe and would not need to comply with marketing email 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 and again are transactional in nature.

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.