On this page

Content Marketing

The Content Marketing team includes audience development, editorial oversight, social marketing, media sponsorships, and content strategy, development, and operations. The Content Marketing team is responsible for the stewardship of GitLab's audiences, users, customers, and partners' content needs, preferences and perceptions of GitLab. Content marketing creates engaging, inspiring, and relevant content, executing integrated content programs to deliver useful and cohesive content experiences that build trust and preference for GitLab. Content marketing oversees the GitLab blog, newsletters, social media channels, webinars, customer case studies and reference program, and topical web content creation.



Please use the following Slack channels:

Issue trackers


Updating the press page

The content marketing team is responsbile for updating the /press and /press/releases/ pages.


Updating the /press/releases page

  1. Create a new merge request and branch in www-gitlab-com
  2. On your branch, navigate to source then press and click on the releases folder
  3. Add a new file using the following format
  4. Add the following to the beginning of your document

layout: markdown title: "Title of press release" —

  1. Add the content of the press release to the file and save. Make sure to include any links.

Updating the recent news section

  1. Every Friday the PR agency will send a digest of top articles
  2. Product marketing will update the Recent News section with the most recent listed at the top. Display 10 articles at a time. To avoid formatting mistakes, copy and paste a previous entry on the page, and edit with the details of the new coverage. You may need to search online for a thumbnail to upload to images/press, if coverage from that publication is not already listed on the page. If you upload a new image, make sure to change the path listed next to image_tag.
  3. Move older content to the archive.

Editorial Mission Statement

Empower and inspire software teams to adopt and evolve a DevOps workflow to collaborate better, be more productive, and ship faster by sharing insightful and actionable information, advice, and resources.


Build the largest and most diverse community of cutting edge co-conspirators who are leading the way to define and create the next generation of software development practices.

2018 Core content strategy statement

The content we produce helps increase awareness of GitLab’s complete and single application with the goal of broadening our market share and increasing sales by providing informative and persuasive content that makes DevOps teams feel excited, curious, and confident so that they can adopt & integrate industry best practices into their workflow.

Messaging for Verticals

When to develop vertical messaging: The key is to determine if an industry has a certain pain point that another industry does not share. You need to describe the problem (using industry specific terminology, if necessary) and also how your product solves these problems for them. Additionally, you can create high-level messaging and then branch off; for example if multiple industries are very security conscious, create security focused marketing, and adapt to select high value verticals.

Checklist for good content

Crediting blog posts

Add a note at the end of a blog post reading "[Name] contributed to this story/post" if:

Key Responsibilities

At the highest level, Content Marketing is responsible for building awareness, trust, and preference for the GitLab brand with developers, engineers, and IT professionals.

  1. Audience development
  2. Editorial voice and style
  3. Defining and executing the quarterly content strategy
  4. Lead generation


Content marketing is responsible for executing marketing campaigns for GitLab. We define a campaign as any programmed interaction with a user, customer, or prospect. For each campaign, we will create a campaign brief that outlines the overall strategy, goals, and plans for the campaign.

Campaign Brief Process

To create a campaign brief, first start with the "campaign brief template" (which can be found by searching on the google drive). Fill out all fields in the brief as completely as possible. Certain fields might not be applicable to a particular campaign. For example, an email nurture campaign leveraging text based emails won’t have a visual design component. This field can be left blank in that example.

Once the campaign brief is filled out, create an issue in the GitLab Marketing project and link to the campaign brief.

On the GitLab issue, make sure to:


We use giveaways to encourage and thank our community for participating in marketing events such as surveys, user-generate-content campaigns, social programs, and more.

Giveaways Process


  1. Create an issue and tag Emily von Hoffmann (@evhoffmann) to determine the rules of engagement and Emily Kyle (@emily) for prizes.
  2. Create and publish an Official Sweepstakes Rules page


  1. Winners must sign an Affidavit of Eligibility & Liability, Indemnity, and Publicity Release. Use the "Affidavit of Eligibility - Sweepstakes" template found on the google drive.
  2. Announce the winners

Social Support & Logistics for Giveaways

Creating the Campaign


Day of giveaway

After the Giveaway

How to Create an Official Sweepstakes Rules Page

  1. Create a new folder in /source/sweepstakes/ in the www-gitlab-com project. Name the folder the same as the giveaway /source/sweepstakes/name-of-giveaway
  2. Add an file to the /name-of-giveaway/ folder
  3. Add the content of this template to the file.
  4. Replace all bold text with relevant information.
  5. Create merge request and publish.

Social Takeover Notes

So you've been nominated for a short-term takeover of GitLab's social channels — here's a quick guide with everything you need to know.





Signing off

Social Channels and Audience Segmentation

You can find a list of evergreen content assets their primary channel for promotion here.
















Event Promotion

After Committing to an Event

Leading up to an Event, Schedule Tweets to go out:

While at the Event:

After the Event:

Ensuring your Post Will Have a Functional Card and Image

When you post a link on Facebook or Twitter, either you can see only a link, or a full interactive card, which displays information about that link: title, description, image and URL.

For Facebook these cards are configured via OpenGraph Meta Tags. Twitter Cards were recently set up for our website as well.

Please compare the following images illustrating post's tweets.

A complete card will look like this:

Twitter Card example - complete

An incomplete card will look like this:

Twitter Card example - incomplete

Note that the first post has a specific description and the image is a screenshot of the post's cover image, taken from the Blog landing page. This screenshot can be taken locally when previewing the site at localhost:4567/blog/.

Defining Social Media Sharing Information

Social Media Sharing info is set by the post or page frontmatter, by adding two variables:

description: "short description of the post or page"
twitter_image: '/images/tweets/image.png'

This information is valid for the entire website, including all the webpages for, handbook, and blog posts.


All the images or screenshots for twitter_image should be pushed to the www-gitlab-com project at /source/images/tweets/ and must be named after the page's file name.

For the second post above, note that the tweet image is the blog post cover image itself, not the screenshot. Also, there's no description provided in the frontmatter, so our Twitter Cards and Facebook's post will present the fall back description, which is the same for all

For the handbook, make sure to name it so that it's obvious to which handbook it refers. For example, for the Marketing Handbook, the image file name is handbook-marketing.png. For the Team Handbook, the image is called handbook-gitlab.png. For Support, it would be named handbook-support.png, and so on.


The description meta tag is important for SEO, also is part of Facebook Sharing and Twitter Cards. We set it up in the post or page frontmatter, as a small summary of what the post is about.

The description is not meant to repeat the post or page title, use your creativity to describe the content of the post or page. Try to use about 70 to 100 chars in one sentence.

As soon as you add both description and social sharing image to a page or post, you must check and preview them with the Twitter Card Validator. You can also verify how it looks on the FB feed with the Facebook Debugger.


To see it working, you can either share the page on Twitter or Facebook, or just test it with the Twitter Card Validator.