Marketing Operations (MktgOps) supports the marketing organization to streamline processes and manage related tools. We work closely with multiple teams to ensure information between systems is seamless, data is as accurate as possible, and terminology is consistent in respective systems. Our team's primary functions are:
Person | Role | Focus |
---|---|---|
Christine Lee | Interim Marketing Ops & Strategy Lead | |
David Brown | Director, Marketing Operations | |
Amy Waller | Manager, Marketing Operations | Awareness & Acquisition |
Beth Peterson | Manager, Marketing Operations | Conversion & Retention |
Nikki Roth | Senior Marketing Operations Manager | Campaigns, Content |
Gillian Murphy | Marketing Operations Manager | Content, Localization, and SDRs |
Jameson Burton | Marketing Operations Associate | Digital, Operations |
Robert Rosu | Marketing Operations Manager | Data |
Mihai Conteanu | Marketing Operations Manager | Content, Campaigns |
Evan Mathis | Associate Marketing Operations Manager | Conversion & Retention |
Slack channels
We do not use or create tool-specific Slack channels (e.g. #marketo
).
Salesforce
The Marketing Operations team has created the '@mktgops-support' Chatter in Salesforce to help you make changes or manage Lead objects in Salesforce. Please note, the more information you can provide in your support request, the faster the request can be resolved. Use the '@mktgops-support' Chatter for support with:
Emergency Comms
If an emergency communication needs to be send out, Marketing Ops will need to assist. Follow directions on this page to initiate the emergency response and view the coverage matrix. You can also follow the security incident communication plan for security related issues.
Important: Before submitting an issue that may contain Personally Identifable Information (PII) data (including screenshots), please ensure the issue is marked confidential. You can use quick actions to accomplish this in the issue description priort to submitting.
The MktgOps team works from issues and issue boards. If you are needing our assistance with any project, please open an issue or for small checks and questions, use the ~MktgOps::0 - To Be Triaged
label anywhere within the GitLab repo.
If you have a bug, error or discrepancy you'd like the team to help and investigate, please use the bug-request template.
With Agile Delivery being one of the solutions that GitLab (as a product) addresses, the Marketing Operations team aims to follow many of the agile methodologies.
Please do not reopen issues that have been closed in a previous milestone. If you find that you have additional questions about a closed issue, comment in the issue and ping the marketing ops DRI who worked the issue. The DRI within our team will determine whether an issue needs to be reopened and pulled into a current milestone.
To track progress on and provide visibility to team OKRs each quarter, Marketing Operations creates a parent epic to organize our team-wide work. We use OKR Labels to help organize issues.
If an issue includes a weight of 21 or more, that issue may be promoted to an epic in order to properly scope the work across multiple issues. Epics will also be used by our team if it relates to an OKR and requires multiple issues in scope to complete the work. Tool implementations also often are tracked within epics.
We use labels for four purposes:
MktgOps/Systems-Request
: Used on issues that require Sales Systems supportMktgOps - FYI
: Issue is not directly related to operations, no action items for MktgOps but need to be aware of the issueMktgOps - List Import
: Used for list imports of any kind - event or general/ad hoc (do not also use To Be Triaged scoped label)Marketo
, Bizible
, Demandbase
, Drift
, LeanData
, LinkedIn Sales Navigator
, Outreach-io
, PathFactory
, ZoomInfo
, Smartling
, OneTrust
, On24
: used to highlight one of our tech stack toolsMktgOps - bug
: A bug issue to be addressed or identified by MktgOpsMktgOps - changelog
: Used to track issues or epics that would need to be logged in the marketing changelog to track major changes across marketingMktgOps-Support
: Internal label used by MktgOps team to track non-issue work and supportMktgOps-Future Feature
: Something to consider for a future project as time allows. Timeframe: As time allowsMktgOpsPriority::High
: Issue that is related to a breaking change, OKR focus, any other prioritized project by MktgOps leadership. This category will be limited because not everything can be a priority. Timeframe: Immediate action needed.MktgOpsPriority::Medium
: Issue has a specific action item for MktgOps to be completed as it is an OKR. Timeframe: Within weeksMktgOpsPriority::Low
: Issue is a feature to help the team or a specific action item for MktgOps that would be helpful, but can be pushed for other issues.Timeframe: Within monthsMktgOps::00: Triage
: General label for any issue that needs MktgOps attention, request for work and/or involvementMktgOps::01: Needs More Information
: Issues awaiting for information from the requester, needs more clarity in requirements, no milestone, and not assigned to MktgOps team member yetMktgOps::02: Ready for Assignment
: Issues that are acknowledged (in review), gathering requirements, no milestone, and not assigned to MktgOps team membeMktgOps::03: Assigned
: Issues that are ready to move forward, slotted to a milestone (not current), and assigned to MktgOps team member's queueMktgOps::04: In Progress
: Issues that are in the current milestone, assigned to MktgOps team member, and are actively being workedMktgOps::05: Business Owner Review
: Issues in current milestone that are near the finish line, needs to be reviewed and demoed to the business owner(s) to sign-offMktgOps::06: Ready to Deploy
: Issues in current milestones, sign-off(s) given by business owner, ready to be deployed by MktgOps team memberMktgOps::07: Blocked
: Issue is blocked and no other actions can be taken by MktgOps. Waiting for someone else/another team to complete an action item before being able to proceed. May also be blocked due to external party such as a vendor to complete an action before closing.MktgOps::08: Completed
: MktgOps has completed their task on this issue although the issue may not be closed.MktgOps-Current-OKR
- Current OKR that the MktgOps team ownsMktgOps-Proposed-OKR
- Proposed OKR for the future, used to help track and plan for next quarterMktgOps-Support-OKR
- Current OKR for another team, but MktgOps is highly involved in supporting itThe MktgOps team works in two week iterations which are tracked as milestones at the GitLab.com
level. Each 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.
A milestone cannot be closed nor marked complete until the milestone's accompanying merge request has been merged. Within every milestone there is a WIP
merge request with all commits being changes to our handbook. All team members contribute their changes to the milestone merge request. The merge request should be tagged with marketing operations labels and the current milestone.
When making an update to a handbook page for ABM
, FMM
, MOps
, or SDR
handbook pages (or sub-pages), we have a Zapier workflow set up that will push the MR (upon merge) to the related Slack channel to ensure our teams are aware of any change that is made to the page. In order for the merged MR to show up in the respective Slack channel, you must add one of the following corresponding labels
on the MR. Slack updates will also trigger for MktgOps MRs when created.
Label you add | Slack channel the merged MR pushes to |
---|---|
MktgOps - HB Update |
#hbupdate-mktgops #mktgops |
FMM-HB Update |
#fieldmarketing-FYI |
SDR-HB Update |
#hbupdate-sdr |
ABM-HB Update |
#hbupdate-abm |
The marketing operations team uses collective merge requests, known as our milestone MRs, to make multiple updates across our handbook, see high-level updates in 1 MR, and avoid conflicts with each other. Here is an example. We list all major changes with our GitLab username in the description after a commit and link any relevant issues that the commit closes out. If you have an update for the marketing operations handbook, please feel free to use our milestone MR to make a commit and tag us for review to avoid conflicts.
The Marketing Operations team had started an experiment on 2020-04-20 to commit to no internal meetings one day of the week. Now the entire Marketing team has moved to Focus Fridays. Please try not to schedule meetings for team members on Fridays, so they can devote time for deep work in milestone-related issues.
Periodically Marketing Operations and other teams through the marketing org make 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 a shared changelog. The MktgOps and Strategy/Perf teams update this document as needed as changes are made. If you are working on an issue or epic that will have a significant impact across marketing, add the label MktgOps - changelog
so marketing oeprations can track changes across GitLab.
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. Below are tools that are primarily owned and managed by marketing operations.
To request access to an existing tool in the stack, please follow the access request process as outlined in the business operations handbook.
If you are working with a contractor or consultant that requires access to a tool in our stack, please follow the professional services access request process as outlined in the procurement handbook.
If you are interested in or would like to request a new tool be added to the tech stack, please submit an issue using the tools eval issue template in the Marketing Operations repository. Marketing Operations should be included in new tool evaluations to account for system integrations, budget, etc. Any new tools desired after the budget is set will be handled by transferring budget from the other department to Marketing Operations.
For budgetary reasons, Marketing Operations will be performing quarterly, and for some tools bi-quaterly, audits on the user activity of marketing tools. If a team member has not been actively taking advantage of a tool for 45 days or more, they will have access to that tool revoked with 5 business days of notification via email. Activity will be determined by user reports pulled by the tools' admins. These reports can be found by viewing issues from the Marketing Ops project with the issue label Mktg Tool Audit
. The reports will utilize the audit issue template from the Marketing Ops project. To regain access to revoked tools, the team member will need to submit a new access request and follow standard access request procedures. However, user seats will be on a first-come-first-serve basis unless it is determined additional seats should be purchased.
The communication plan applies to tools like Zoominfo and Outreach and is created to detail the communications that are sent regarding remaining licenses. It speaks to what communications go out, when they take place and in what format.
Communication | Format | Details | Owner |
---|---|---|---|
Update on Mops Handbook whenever comms, format or the owner details get adjusted. | Update Mktgops Handbook and post a notification in #sdrleadership_mktgops slack channel. | Tool owners will update the Mktgops Handbook page whenever the comms, format or owner detail change. In addition, tool owners will post a memo in the #sdrleadership_mktgops slack channel. | Rob Rosu / Gillian Murphy |
Monthly Zoominfo/Outreach License Gsheet Update | GSheet | Zoominfo/Outreach owner will update the License Gsheet on a monthly basis. Sales leadership will have access to the GSheet. | Rob Rosu / Gillian Murphy |
5 Licenses Remaining Notification (Zoominfo/Outreach) | In #sdrleadership_mktgops slack channel | When we’re down to 5 Zoominfo/Outreach licenses remaining, a notification will be sent to sales leadership via the #sdrleadership_mktgops slack channel. | Rob Rosu / Gillian Murphy |
Quarterly Sales Reps Hiring Plan Update | SSOT SDR SFDC Hierarchy of Roles | Sales leadership will update the Sales Rep Hiring plan on a quarterly basis. | Ramona Elliott |
GL Code | Account Name | Purpose |
---|---|---|
6060 | Software Subscriptions | All software subscriptions |
6100 | Marketing | Reserved for Marketing GL accounts |
6110 | Marketing Site | 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 |
6135 | Swag | Any swag related expense |
6140 | 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 |
Invoices submitted to Coupa will be routed for approval. Details regarding this process can be found on the Coupa End Users Guide page. Campaign tags are used to track costs related to events and campaigns.
A Marketing Qualified Lead is a lead that has reached a certain threshold, we have determined to be 100 points accumulated, based on demographic/firmographic and/or behavioral information. The Person Score
is comprised of various actions and/or profile data that are weighted with positive or negative point values. You can find more details about the scoring model on the Marketo Page
Campaigns are used to track efforts of marketing tactics - field events, webcasts, content downloads. The campaign types align with how marketing tracks spend and align the way records are tracked across three of our core systems (Marketo, Salesforce and Bizible) for consistent tracking. Leveraging campaigns aligns our efforts across Marketing, Sales and Finance.
Go to the Campaigns and Programs Page to view all of the campaign types, their progression statuses and cost tracking. That page also includes directions for set up in Marketo and Salesforce.
Marketing Ops is responsible for maintaining the email marketing database. Go to the Email Management Page for policies and more detailed information.
Initial Source
is the first "known" touch attribution or when a website visitor becomes a known name in our database, once set it should never be changed or overwritten. For this reason Salesforce is set up so that you are unable to update the Initial Source
field. If merging records, keep the Initial Source
that is oldest (or set first). When creating Lead/Contact records and you are unsure what Initial Source
should be used, ask in the #mktgops
Slack channel. Initial Source
in Marketo is named Person Source
, and should only update when empty.
We use Source Buckets to group Sources into acquisition channels. These groups are: core, inbound, outbound, paid demand gen, purchased list, referral, virtual event, and web direct. When using the TD - Marketing Metrics dashboard reports can be filterd by these source buckets.
The values listed below are the only values currently supported. If you attempt to upload or import leads or contacts into Salesforce without one of these initial sources you will encounter a validation rule error. If you think that there needs to be a new Initial Source added to this list and into Salesforce please open an issue with the marketing ops team. When a new initial source is added, the bucket must also be updated in a SFDC workflow to properly show in Sisense.
Status in the table below means:
Source | Source Bucket | Definition and/or transition plan | Status* |
---|---|---|---|
CE Download | core | Downloaded CE version of GitLab | Active |
CE Usage Ping | core | Created from CE Usage Ping data | Active |
CORE Check-Up | core | Created from In-App Contact us (Handraise PQL/In-App Health Check) | Active |
Demo | inbound | Filled out form to watch demo of GitLab | Active |
Education | inbound | Filled out form applying to the Educational license program | Active |
Email Request | inbound | Used when an email was received through an alias (will be deprecated) | Active |
Email Subscription | inbound | Subscribed to our opt-in list either in preference center or various email capture field on GitLab website | Active |
Gated Content - General | inbound | Download an asset that does not fit into the other Gated Content categories | Active |
Gated Content - eBook | inbound | Download a digital asset categorized as an eBook | Active |
Gated Content - Report | inbound | Download a gated report | Active |
Gated Content - Video | inbound | Watch a gated video asset | Active |
Gated Content - Whitepaper | inbound | Download a white paper | Active |
GitLab.com | inbound | Registered for GitLab.com account | Active |
Newsletter | inbound | Active | |
OSS | inbound | Open Source Project records related to the OSS offer for free licensing | Active |
Request - Contact | inbound | Filled out contact request form on GitLab website | Active |
Request - Professional Services | inbound | Any type of request that comes in requesting to engage with our Professional Services team | Active |
Security Newsletter | inbound | Signed up for security alerts | Active |
Trial - Enterprise | trial | In-product or web request for self-managed Enterprise license | Active |
Trial - GitLab.com | trial | In-product SaaS trial request | Active |
Web | inbound | Active | |
Web Chat | inbound | Engaged with us through website chat bot | Inactive |
Consultancy Request | inbound | Active | |
Drift | inbound | Active | |
Request - Community | inbound | Active | |
Request - Public Sector | inbound | Active | |
Startup Application | inbound | Active | |
Other | Other | Active | |
AE Generated | outbound | Sourced by an Account Executive through networking or professional groups | Active |
Clearbit | outbound | Inactive | |
Datanyze | outbound | Inactive | |
DiscoverOrg | outbound | Inactive | |
Leadware | outbound | Sourced by an SDR through networking or professional groups | Inactive |
outbound | Active | ||
Prospecting | outbound | Active | |
Prospecting - General | outbound | Active | |
Prospecting - LeadIQ | outbound | Inactive | |
SDR Generated | outbound | Sourced by an SDR through networking or professional groups | Active |
Zoominfo | outbound | Active | |
Advertisement | paid demand gen | Inactive | |
Conference | paid demand gen | Stopped by our booth or received through event sponsorship | Active |
Field Event | paid demand gen | Paid events we do not own but are active participant (Meetups, Breakfasts, Roadshows) | Inactive |
Owned Event | paid demand gen | Events that are created, owned, run by GitLab | Active |
Promotion | paid demand gen | Active | |
Virtual Sponsorship | paid demand gen | Active | |
Purchased List | purchased list | Active | |
Employee Referral | referral | Active | |
Partner | referral | GitLab partner sourced name either through their own prospecting and/or events | Inactive |
Channel Qualified Lead | referral | GitLab partner sourced, previously partner |
Active |
Word of Mouth | referral | Active | |
Event Partner | referral | Inactive | |
Existing Client | referral | Active | |
External Referral | referral | Active | |
Webcast | virtual event | Register for any online webcast (not incl Demo ) |
Active |
Webinar | virtual event | Active | |
Workshop | virtual event | Active | |
Web Direct | web direct | Created when purchase is made direct through the portal (check for duplicates & merge record if found) | Active |
Investor | outbound | Sourced by our investors (i.e. - GV, Khosla, ICONIQ). The Investor value is coupled with the Investor Name custom field |
Active |
GitLab DataMart | core | Created by the GitLab Marketing Database data pump. Contains leads from various internal sources | Active |
GitLab Subscription Portal | Signed up for customers portal account, but did not upgrade | Active | |
Free Registration | core | Sign up via Free User registration | Active |
In Q1 FY22 the Demand Generation team began running paid campaigns to drive trial signups. Currently, we don't have the "trial" source bucket split out by paid vs. organic because we don't have Google Analytics tracking on the signup form. Fortunately, this will soon be changing!
Until then, if pulling metrics around source buckets for CAC calculations please use the Demand Gen dashboard in Sisense (you can filter by trials).
The Lead & Contact objects in Salesforce have unified statuses with the following definitions. Lead . Also reference Re-MQL workflows for how to move from status to status.
Status | Definition |
---|---|
Raw | Untouched prospect, default status |
Inquiry | Action was taken by the record to specifically give their contact information to GitLab |
MQL | Marketing Qualified through systematic means |
Accepted | Actively working to get in touch with the lead/contact |
Qualifying | In 2-way conversation with lead/contact |
Qualified | Progressing to next step of sales funnel (typically SAO created & hand off to Sales team) |
Unqualified | Contact information is not now or ever valid in future; Spam form fill-out |
Nurture | Record is not ready for our services or buying conversation now, possibly later |
Bad Data | Incorrect data - to potentially be researched to find correct data to contact by other means |
Web Portal Purchase | (Temporary, to be merged by RingLead) Used when lead/contact completed a purchase through self-serve channel & duplicate record exists |
One of the following must occur to have a lead move from Raw
to Inquiry
Marketing Operations has the responsibility for cleaning and enriching our database of leads/contacts with the most complete and up to date information.
The cleaning part of this process is currently being done using our lead/contact deduplication tool, Ringlead.
The enrichment part of the process is done using the data appending/enrichment tool, Zoominfo, our SSOT when it comes to account/lead/contact data.
This cleaning & enrichment process has 4 main priorities:
Contact Us
, Self-Managed Trials
, SaaS Trials
forms.For more information regarding our data deduplication process visit the Ringlead Handbook Page.
Cleaning & Enrichment Frequency: While the enrichment jobs for net new leads, from our forms, work on a continuous bases, when it comes to enrichment of our existing leads & contacts in SFDC, this is done via scheduled enrichment jobs as follows:
You can find more details on the enrichment process in our Zoominfo Handbook Page.