Social Media Reporting

Metric Definitions, Cadences, and Objectives

Reporting on our brand’s organic social media efforts is critical in determining if what we’re doing is working and understanding our audiences better. This page outline specifics on our reporting, including definitions of metrics. {:.alert .alert-info .text-justify}

Dashboards and Reports

For GitLab Team Members only

I’m looking for… …this report or dashboard will help.
Sheet to enter raw performance data Raw metrics sheetload for Sisense (available to social and data team only)
Ad equivalency dashboard for all social data Social Ad Equivalency Dashboard by objective and campaign

FY23 focuses

Check out the FY23 OKR Epic here{:.btn .btn-purple-inv}

Reporting changes in FY23
  • Reordering metrics based on priority
    • Engagement, Engagement Rate, Clicks (most important 3 metrics)
    • then
    • Impressions, followers, and social ad value (least important metrics)
  • Previously, CPC ad value was measured for owned links only. However, FY23 we’ve combined all links as one metric since all links are treated the same on social channels (they do not discriminate between owned and 3rd party links; performance is performance). We expect a creep up of value in reporting link click ad value
  • Previously CPM was measure only on posts without a link. However, impressions are measured as impressions, and for FY23 we’re counting all impressions, not just those that appeared on posts without a link (again, performance is performance). Expect increases in CPM ad value for FY23.

Engagement

Engagements

The number of times that users took action on our posts during the reporting period. This includes likes, retweets, comments, saves, replies, reactions, and shares. Does not include quote retweets. These actions are not weighed equally, and over time we’ll be developing a unique and proprietary reporting method for engagements.

Engagement Rate

The number of times during a reporting period that users engaged with our posts as a percentage of impressions. This metric indicates how engaging particular content or campaigns are overall. Engagement rate has been a pillar in social reporting for a decade, and is most closely tied to content quality.

Where does our data come from?

Our brand social team uses Sprout Social as our social media management software to schedule, engage, and report social media efforts. The majority of this data is already available natively across channels but is not curated or collated well for our purposes. Our single source of truth for all organic brand social data is Sprout Social.

Learn how we pull data from Sprout, add it to a sheetload, and get it into Sisense with this video (available to team members logged into our GitLab Unfiltered YouTube account only).

Social Media Metric Definitions

Impressions are the number of times that our content was displayed to users. There are a few caveats:

  • Twitter: This includes when other users retweet our posts.
  • LinkedIn: This does not include when other users share our posts.
  • Facebook: the # of times that any content associated with our page, not just a post (think updating images), was displayed to a user.
  • Instagram: This does not include profile visitors.
  • We use impressions = views, as defined for Corporate Marketing. This is not our most important metric for social-only performance but is one of the few metrics directly attributable to our shared top-of-funnel activity across teams.

Engagements are the number of times that users took action on our posts during the reporting period. This includes likes, retweets, comments, saves, replies, reactions, and shares. Does not include quote retweets.

Post Link Clicks (Link clicks or clicks for short) is the number of times that users clicked on links from your posts during the reporting period

Ad Value (or equivalency) is the GitLab-specific social media advertising dollar equivalent organized by post objective

  • impressions (measured by CPM or Cost Per Thousand impressions)
  • link clicks (measured by CPC or Cost Per Click)
  • Ad Equivalency is a value-driven metric that is entirely determined by our real-world social advertising spend. We’ll evaluate the ad equivalency per channel/quarter average.
  • We present ad value as a dollar amount, determined by the sum of a reporting period’s equivalent CPM + CPC costs

Net Follower Growth is the total number of new followers, less the amount of unfollows.

Follower Growth Rate is a percentage of growth over a reporting period. While we may look at this month-over-month, it’s best-reviewed quarter-over-quarter or year-over-year.

Engagement Rate is the number of times during a reporting period that users engaged with our posts as a percentage of impressions. This metric indicates how engaging particular content or campaigns are overall.

Reporting Cadences

Our cadences allow us regular reporting periods and the ability to be accountable to our team members in other groups or report performance regularly. The social team will not accommodate random reporting requests that were not previously required, agreed upon, or that the team feels inappropriate to use time or review the data.

These epics can act as a living warehouse in GitLab to pull data from quarterly progress or campaign specific wrap up issues. The social team ought to add a link to these reporting issues to the FY Performance epic.

Monthly Reporting

The social team will pull data for overall brand performance and select topics/campaigns before the end of the second week of the month following the reporting month (e.g., January data will be available before mid-February).

We will also add the necessary data to our Ad Equivalency dashboard in Google Sheets.

Workflow is as follows:

  1. Open Sprout reports and configure for the month you’re reporting for
  2. Open Sheetload intake sheet in a separate window - either work side-by-side or use a second monitor.
  3. Highlight all of the sections from the previous month in the Sheetload intake sheet. Copy these sections, then paste the entire series just below the last available dataset. You can now delete the month and the value sections, so that these can be updated to the month you’re reporting for.
  4. Pull data from Sprout. The best location of each data point is noted in the source_details section of the Sheetload intake sheet
  5. With the general brand numbers completed, you can move to the topics we report for each month. Head to the Topic Template tab of the Sheetload intake sheet. Highlight all data from column c rightward and copy.
  6. Paste this blank data template into the Campaign and Topic Reporting tab of the Sheetload intake sheet, from column c rightward. This will act as the intake for one of the topics/campaigns we report on. Select one of the Topic/Sprout Tag items to use and complete all of the data by heading to the Tag Performance Report in Sprout and selecting the appropriate tag.
  7. Redo step # 6 for each of the reporting campaigns/topics. Currently 3: Campaign: All Remote Brand, Tag: Press Coverage, Tag: Blog Shares

Quarterly Reporting

When the social team adds the third month of data from a quarter to the ad equivalency dashboard, we’ll include the average CPC and CPM by social channel, closing the metrics for the quarter. Note, ad value performance won’t be available until after the quarter closes.

We’ll wrap each quarter with an issue outlining performance and insights. Please use the social-quarterly-report issue template. Here’s what a completed issue on quarterly performance looks like.

Annual Reporting

FY22 Performance Review Deck{:.btn .btn-purple-inv}

FY21 Performance Review Deck{:.btn .btn-purple-inv}

Annual reports should encompass all consumption methods: Epics, issues, written summaries, a deck, and a recording of the deck with the social team reviewing.

Use the FY21 epic and issue outline to build the FY22 versions.

Annual reporting should be communicated to campaign/topic stakeholders, the communications and corporate marketing team, and the marketing organization overall. Include as updates in the #marketing Slack channel.

Reporting, Data, and User Behavior Limitations

With social media data, there will always be a set of limitations based on what metrics are available, how each channel defines them, how our tools collate the data, and whether or not other variables are in play.

  • We can’t currently combine Sprout tags to review overall performance (e.g.,) if we wanted to check out how a specific campaign performs, but to compare how owned links performed vs. no link posts, would require manual math). This is universal across our Sprout instance due to the mechanisms inside Sprout.
  • Posts can only count towards one ad equivalency metric. A post is either for brand awareness and engagement on social channels or to generate clicks to a website. Because of this, we can qualify the ROI of a post according to the specific type of ad equivalency, but never more than one kind.
  • Ad equivalency is not a 1:1 of what GitLab would have needed to pay as a part of social advertising. Posts written as ads are dramatically different than those crafted for organic social media. Specific targeting available in social advertising will also impact an ad’s performance. So we must look at ad equivalency as a proxy for spending – we’re adding value, not eliminating ad budget.
  • Ad equivalencies are not a metric we measure for growth. As GitLab’s social media advertising becomes more efficient over time, the cost will decrease. As our social advertising costs decrease, each action’s value for impressions or clicks that the ads are optimized for becomes cheaper to purchase. So, organic social media ad equivalency should reduce as our social advertising becomes more effective. We measure the ad equivalency as added value.
  • Many of the core metrics that the social team reports on have inverse relationships. Posts with higher impressions tend to have lower clicks (and the opposite is true as well). A post shared worldwide and has a high volume of engagements may have a low engagement rate, mainly if the impressions are high. There are other inverse relationships across other metrics. When crafting posts, the social team considers the one action we’d like users to take, and we try to organize the copy, assets, time, and channel to be in our favor.

Reporting Tips

  • To review a specific metric per campaign/tag in Sprout, export all posts as a csv file, upload the csv file to Sheets, and then filter posts tagged with the tag we want to report by. This is not an equally weighted review across channels, however it does work to provide channel-specific reporting.

Sprout Tags

Tag use in Sprout is the core mechanism we use to develop reports on social media performance. This is why it’s important to consider using all tags that might be appropriate to use, for every post scheduled. Below, you’ll find details on some of our most used tags and tips for using them effectively.

All tags, except campaign tags, can be used together and often should be included together. This means you may be using more than one pillar or type tag. {: .alert .alert-success}

Sprout tag use examples
  • Promoting REMOTE event with a highlight video and registration link
    • use: Pillar: All Remote, Type: Link, Type: Video, Campaign: REMOTE event
  • Promoting a general new blog about how it’s like to work at GitLab
    • use: Pillar: Blogs, Pillar: Talent Brand, Type: Link
  • Promoting a Twitter Spaces Q&A with a speaker from Commit, the topic is DevOps Leadership
    • use: Pillar: Corporate Events, Pillar: DevOps, Type: Audio, Campaign: Commit

Content Pillar Tags

Content Pillar Tags allow the social team to tag the most common identifying item among our posts, the overall purpose or focus of the post. Most pillar tags are associated with other teams the social marketing team works with, as these are the easiest identifiers to connect on. Pillar tags allow us to develop reports for top level focuses to show long term performance at the highest level.

These tags are stackable, they can be combined. {: .alert .alert-success}

  • 🏷 Pillar: All Remote
    • when scheduling any content about GitLab’s all remote brand
  • 🏷 Pillar: Blogs
    • when scheduling any content from the blog
  • 🏷 Pillar: Community
    • when scheduling any content associated with the community team
  • 🏷 Pillar: Corporate Events
    • when scheduling any content related to the corporate events team
  • 🏷 Pillar: DevOps
    • when scheduling any content about DevOps as a topic, it does not need to be about GitLab. Thought leadership.
  • 🏷 Pillar: Press / News
    • when scheduling anu content related to the corporate comms team, or comes from PR agencies
  • 🏷 Pillar: Product
    • when scheduling any content directly related to GitLab’s product offering
  • 🏷 Pillar: Talent Brand
    • when scheduling any content related to talent / employer brand efforts

Content Type Tags

Content Type Tags allow the social team to measure performance by formats. This is important for us to measure how engaging individual types of content are, as well as, whether or not we’d hit other goals.

These tags are stackable, they can be combined. {: .alert .alert-success}

  • 🏷 Type: Audio
    • when scheduling content that contains audio only files, like Twitter Spaces
  • 🏷 Type: Case Studies
    • when scheduling content that has links to, or contains details from, GitLab case studies. If Sharing case study link, also include the Type: Link tag.
  • 🏷 Type: Link
    • when scheduling any content we add a link to, whether or not it includes a social card, an image instead of a card, or if the link is to a GitLab or 3rd party destination.
  • 🏷 Type: Photo
    • when scheduling content with a photo asset attached.
  • 🏷 Type: Poll
    • when scheduling content that uses the poll feature on a social channel. Not to be confused with questions, this is when there is a shortlist of preselected options for users to choose from.
  • 🏷 Type: Question
    • when scheduling content that includes an open-ended question for users to answer as they please. Not to be confused with polls, where there are pre-determined options for users to choose from
  • 🏷 Type: Video
    • when scheduling content that includes native video or links to a video assets elsewhere. If linking to a video asset elsewhere, include the Type: Link tag as well

Campaigns

Campaign tag types appear differently in Slack. They have their own section to select a tag when scheduling content. You can also build a social campaign from start to finish using the Campaign Planner feature, which includes timelines, a brief form, and other details. Campaign tags are used based on the campaigns we work on at GitLab and allow for more granular reporting. Rather than relying on performance for all remote content overall, we can target specific events (like REMOTE) or marketing campaigns (like the Remote Work Report).

Campaign tags are not stackable, they cannot be combined. Since only one campaign tag can be used for posts, it’s important to keep communication objectives for the post clear and include only one campaign. {: .alert .alert-danger}

Some existing tags we may use throughout the year are identified below, but new campaign tags will be created according to the campaigns we work on through the year.

  • 🏷 Commit
  • 🏷 Kubecon
  • 🏷 GitLab 15
  • 🏷 REMOTE by GitLab
  • 🏷 Remote Playbook
  • 🏷 DevSecOps Survey
  • 🏷 AWS reInvent
  • 🏷 others not identified here