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

Digital Marketing Programs

On this page

Digital Marketing Programs (DMP)

The Digital Marketing Programs team attracts new visitors through organic and paid channels, tests incremental changes for conversion rate improvement, and tracks campaign performance. There are two primary roles on this team:

DMP responsibilities

Website analytics dashboards

We use Google dataStudio to create an easy to share and repeatable process for sharing analytics data for dataStudio allows us to combine data from Google Analytics, Google Ads, and a variety of other sources to create reports with key data for any GitLab team.

Self-serve Website analytics dashboards

Active dataStudio dashboards

Requesting Marketing Campaigns

If you would like to request a paid marketing campaign to support your event, content marketing, or webcast, create an issue in the Digital Marketing Programs Repo and use the marketing-cmp-template template

Requesting LinkedIn Inmail as part of campaign

LinkedIn Inmail campaigns are a good way to reach people at specific companies, industries, and more. They work best for inviting people to events and webinars if you do not have specific people in mind (unlike a Marketo campaign). If you would like to request an Inmail campaign as part of your markeing campaign, create an issue in the Digital Marketing Programs Repo and use the linked-inmail template.

Create a Culture of Testing and Optimization

In order to iteratively improve the site, we should test all major site changes before implementions. Testing requires a control and a variant within the same time period, while holding all other variables constant. Using a/b testing tools will allow us to create tests that follow testing best practices and gather data about what works or does not work to encourage people to spend time on our site or have a conversion event. With testing, we can makes informed decisions about what works for our audience and helps them reach their goals, and what works for us to help use meet our business goals.

We should link to resources that will help our readers. Be sure to include links to blog posts, guides, and other reference material. You can also include links to company or product websites if they are relevant to your topic. These links do not need to be "nofollowed" if they are informational.

However, we should use Google's guidelines on nofollowing links when we exchange a link for a product or service. It's also a best practice to ask for a nofollow link when we sponsor and disclose our links to sponsored content.

URL Tagging

All URLs that are promoted on external sites and through email must use UTM URL tagging to increase the data cleanliness in Google Analytics and ensure marketing campaigns are correctly attributed. For a primer course, please see the training video. This explains the why and how of URL tagging.

Our internal URL tagging tool can be accessed on Google Sheets under the name "Google Analytics Campaign Tagging Tool" which can be found on the Google drive. You will also find details in this spreadsheet on what "Campaign Medium" to use for each URL.

UTM best practices: lowercase, not camelcase, and no spaces, .com or special characters (&*%$+#@, etc.) for new tags. if you need a new campaign medium, please check with the Digital Marketing Programs team as new mediums will not automatically be attributed correctly.

Website Health Check

Regular website health checks should be performed. These checks are meant to ensure that there are no issues with the website that could cause issues with traffic to the site. These are the following things to check to ensure the health of the site:

Issues to look for in each of these tools:


Information about reporting done by the Digital Marketing Programs team and across the Marketing functional group can be found in the Business Operations - Reporting section.

Digital Marketing Tools

We use a variety of tools to support the other team within the company. Details about the tech stack, who has access and the system admins is found in the Business Operations handbook section.

Using robots metadata to manage search index

There are times we need to keep pages out of search indexes. For example, we might duplicate most of a page to improve conversion for an ad campaign. It's relatively rare to use this, but it's an important tool that helps us increase organic reach and paid advertising efficiency.

All pages are set to meta name="robots" content="index, follow" by default. To exclude a page from the index add noindex: true to the frontmatter, and this will set the robots metadata to meta name="robots" content="noindex, follow".

Adding Redirects To GitLab's Website

Occasionally we will need to change URL structures of the website, and we want to make sure that people trying to view those pages can find the information they need. If you make a change that removes pages or changes URLs we need to set up a redirect. The Digital Marketing Programs team can set up and manage all redirects for

To redirect an outdated page, open an issue with the set up a new redirect template in the Digital Marketing Programs project. You'll need to provide the following:

If you have any questions or concerns regarding your redirect request, ask for help in the #digital-marketing channel on Slack.

Redirect process documentation

The Digital Marketing Programs team uses these details for the redirect process on

GitLab Google Tag Manager system

We use Google Tag Manager(GTM) to simplify activity tracking on with Google Analytics. This documents the system the Digital Marketing Programs team uses with our Google Tag Manager container.

Naming convention

We use semantic names for tags, triggers, and variables to make it simpler to determine what these components are supposed to do. Use an em dash (shift+option-_) to divide the components of each GTM component name.

Tags start with the platform, followed by the tag’s purpose, and are finally contextualized to Any tags related to timed events need the timeframe indicated in a note attached to the tag in GTM to make it clear when to remove a tag.

Tag naming examples

Triggers start with a description of the action triggering a tag, followed by contextualization for

Trigger naming examples

Variables start with the tag or trigger they reference, followed by contextual data about their purpose.

Variable naming examples

If you are making changes to the GTM container and have questions about what to name one of these components the Digital Marketing Programs team can help.

dataLayer values

Today we’re using the dataLayer sparingly on, with our primary use focused on differentiating blog content with postType. We’ll expand how we use the dataLayer to create content groupings for improved customer journey insights and document those updates here.

Event tags

We need consistent tags across Google Analytics events and have introduced the following structure to our event tags. Our goal is to cover important visitor events with the smallest number of tags in Google Tag Manager. Reducing the number of tags and the overall complexity of our Google Tag Manager container helps us spot and fix coverage issues faster.

GitLab Google Tag Manager event structure

These three components help us organize and identify specific event data. Event Categories help us group specific customer journey steps, Event Actions describe visitor interactions with, and Event Labels provide contextual details for reporting our performance.

Example Event Label
{{Page URL}} | {{Referrer}} | {{Click text}} | {{Click URL}} | {{Click Class}}

Google Analytics limits event label fields to around 2000 characters, and we'll update the handbook if we start to see truncated event labels.

Google Tag Manager inventory

We're using Simo Ahava's Googl Sheets Add-On to sync notes for our tags and create a GitLab Google Tag Manager inventory This simplifies scanning and searching over the Google Tag Manager web app.

Using marketing trend data

Search term volume is hard to estimate. Different tools use different methodolgies and models for reporting this data. AdWords provides data from Google, but the ranges are broad and terms can be combined into a single phrase. Google Trend data normalizes search trends from 1 to 100 based on the terms you're exploring, which doesn't give us any idea of how many people are using a particular phrase.

For our keyword research we rely on Moz Keyword Explorer data because it provides a narrower volume with full phrase integrity. When we report keyword volume, this is the tool we use for this data.

Google Analytics Crash Course

Dimensions vs Metrics

Dimensions are the different attributes of your data. For example, the landing page is a dimension that is the first page a person views when they come to the site.

Metrics are the numbers that are being measured, such as number of page views or number of sessions.

Each dimension and metric has a scope, so it’s important to understand the three different scopes:

  1. User-level
  2. Session-level
  3. Page-level

Due to the scoping, not every dimension can be combined with every metric. In most cases, the dimensions and the metrics should match the scope.

Understanding Reporting

Setting a date range

You can use the calendar in the top right to set the active date range. You can also select the compare to box to compare metrics from different time periods. This will allow you to see month over month or year over year growth for the desired metrics.


Annotations are used to mark a point in time in Google Analytics. They can be used to mark an important event such as a change to the setup of Google Analytics, or an event that heavily impacted traffic positively or negatively.

To create an annotation, double-click on a date. The double-click will bring up the annotation field where you can enter details, and select private or public. Public annotations can be seen by anyone that has access to that view within Google Analytics, and private annotations can only be seen by you.

Data Tables

Most reports have a data table below the graph. The data tables contain a dimension and associated metrics.

The Primary Dimension of the data tables can be changed by selecting a different primary dimension from above the table.

A secondary dimension can also be added by clicking on the Secondary Dimension button above the table and selecting the secondary dimension you’d like to add to the table.

Audience Reports

The audience reports are used to understand characteristics of your users such as location, and browser used, and user behavior over multiple visits such as average session time.

Acquisition Reports

The acquisition reports help you know how people find the website. These reports will help you to analyze the benefits of the different digital marketing efforts that you are involved in.

Channels Report

The All Traffic > Channels report breaks down all the different channels that are sending traffic to the site. You can click on any of the channels to drill down and get more granular data about that specific channel. For example, if you click on the Referral channel, you will see which sites are referring traffic to your site.

Behaviors Reports

The behaviors section is about how users use the website. This includes what pages of the site people are looking at as well as how they flow through the site.

All Pages Report

The All Pages report shows the number of times a given page was viewed within the selected period of time. You can change the primary dimension to Page Title if it is easier to tell what the page is by looking at the title rather than the URL.

Avg. Time on Page and Bounce Rate can be used to find underperforming content or content that is very engaging to users and can be used in future marketing efforts.

Landing Pages and Exit Pages

The Landing Pages and Exit Pages reports are scoped at the session and tell us how many people are beginning a session at a certain page (landing page) and how many people are ending a session at a certain page (exit page).

These reports can be valuable to see what content is bringing people to the site and what content is causing people to leave the site.


Events can be set up to track actions that people take on the website, such as clicking links or selecting drop downs. These events can be set up in Google Tag Manager and for the most part won’t require any additional code to be placed on the website.