Developer Relations workflow: UTM Tracking Strategy
Overview
The purpose of this page is to outline the UTM strategy of the Community team and how it drives dashboards of the team in Sisense. This strategy is designed inline with Marketing UTM Strategy and reviewed by the Marketing Strategy & Analytics team.
Use Cases
- Workshop with referral to a marketing website for more resources or reference
- Free Trial sign-up suggestions during presentations
- Referencing surveys, blog posts, release posts or any other Content
- Referencing Documentation pages
Campaign manager
CommunityApps makes using working with this UTM Strategy easier, you can learn more in the CommunityApps User Guide.
UTM Parameters
UTM Parameters are used to track how a user got to a website, their transition through the website and at what point they existed. For the community team, UTM parameters will help use measure the impact of engagements with the community in driving contributions to GitLab and subscriptions. Choice of UTM parameters is restricted to certain values and managed by the MS & A team. Maintaining standards is essential for data to get to the right destination in Google Analytics and Sisense. The UTM parameters for agreed on for community team are as follows.
Name | Parameter | Community Values | Description |
---|---|---|---|
Campaign Name | utm_campaign | community |
The medium is the overarching channel bucket like paidsearch, social, or sponsorship. It answers the question of “how did they come to us?”. For the community team, it helps identify metrics for the team and used in instrumenting necessary dashboards in Sisense. If you are engaging under another campaign, please liaise with the DRIs of the campaign for the right utm_campaign or the MS & A team. |
Campaign Source | utm_source | mailjet, twitter, linkedin, stack overflow, etc. See UTM Generator Picklist for more | The source-based URL parameter can tell you which website is sending the traffic. The source is a further “slicing” of overall channels. It answers the question of “how did they come to us?” but with more granular details than utm_medium. Examples include demandbase, twitter, or market. |
Campaign Medium | utm_medium | display, email, social | The medium is the overarching channel bucket like paidsearch, social, or sponsorship. It answers the question of “how did they come to us?”. |
Campaign Content | utm_content | This parameter is used to identify the specific campaign a community DRI is using the UTM tracking for and used to separate reporting for different campaigns of the team in Sisense. To further make it easier, the MS&A team will have approved using prefixes to enable filtering of tracking by programs. i.e. de_ , edu_ , oss_ , code_ , heroes_ will be used to filter each program results. |
|
Campaign Budget | utm_budget | cmty | Indicates which budget is used for the campaign promotion. |
Compulsory fields
For results to get to the right dashboards, it is necessary to set the right UTM parameters. The compulsory parameters are:
utm_campaign=community
utm_budget=cmty
The values of these parameters should not be changed. Optional but necessary parameters with example values are
utm_source=linkedin
utm_medium=social
utm_content=de_gitlab_release
Examples
- utm_campaign=community : default campaign code for the community team
- utm_source=linkedin : Where visit is coming from
- utm_medium=social : broader identification of where they are coming from
- utm_content=de_gitlab_release : de_ to identify the DevEvangelism team, we can also have edu_, oss_, code_, heros_, etc.
- utm_budget=cmty : Identifies Community team as the owner of the budget.
Best Practices
- Use URL shortening for URLs with UTM parameters
- Use the right
utm_source
&utm_medium
to get best results in identifying where visitors came from, see UTM Generator Picklist for a full list of available options. - Use the right prefixes for
utm_content
and only use underscore for the extra text you will add.
Dashboards
TBD
UTM Generator
<div>
<table>
<tr width="35%">
<td> Link: </td>
<td> <input class='utm_generator' type="text" id="utm_link" /></td>
</tr>
<tr>
<td> Where will you be sharing it: </td>
<td>
<select class='utm_generator' id="utm_where" >
<option value="social-linkedin">LinkedIn</option>
<option value="social-twitter">Twitter</option>
<option value="display-blog">Blog Post</option>
<option value="display-partner">Partner Website</option>
<option value="display">Physical assets</option>
<option value="email">Newsletter</option>
</select>
</td>
</tr>
<tr>
<td> What Program is the DRI for Campaign: </td>
<td>
<select class='utm_generator' id="utm_who" >
<option value="oss">Open Source</option>
<option value="edu">Education</option>
<option value="de">Developer Evangelism</option>
<option value="code">Code Contributor</option>
</select>
</td>
</tr>
<tr>
<td> Unique Campaign Identifier </td>
<td> <input class='utm_generator' type="text" id="utm_unique_code" /></td>
</tr>
<tr>
<td style="text-align: right;"> <button class='btn btn-primary' id='generate_utm'>Generate</button> </td>
<td> Result: <p id='utm_generator_result' style='background-color:#ecdcc2; color:#ff0000; padding:10px'> </p> </td>
</tr>
</table>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script>
$( document ).ready(function(){
$('#generate_utm').on("click", function(){
var link = $('#utm_link').val();
var source = $('#utm_where').val();
var dri = $('#utm_who').val();
var unique_code = $('#utm_unique_code').val();
var result = link + '?utm_campaign=community&utm_budget=cmty&';
switch(source){
case 'social-linkedin':
result = result + 'utm_medium=social&utm_source=linkedin'
break;
case 'social-twitter':
result = result + 'utm_medium=social&utm_source=twitter'
break;
case 'display-blog':
result = result + 'utm_medium=display&utm_source=blog'
break;
case 'display-blog':
result = result + 'utm_medium=display&utm_source=blog'
break;
case 'display-blog':
result = result + 'utm_medium=display&utm_source=partner'
break;
case 'display':
result = result + 'utm_medium=display'
break;
default:
result = result + 'utm_medium=social&utm_source=linkedin'
break;
}
result = result + '&utm_content='+dri+'_'+unique_code;
$('#utm_generator_result').text(result)
})
});
</script>
680a0bc8
)