Usually, a publisher will set up a single survey line item that delivers surveys for all live
measurements. However, a different approach may be necessary when a publisher needs
- Priority control
- Give individual measurements a higher GAM priority, while leaving the rest at
the normal level.
- Per-measurement attribution
- Clearly break out the survey costs in GAM, e.g. attribute them to the advertiser
of the brand campaign.
To address such use cases, Brand Metrics offers a per-measurement survey option.
Prerequisites
- Create a BM measurement and note the Measurement ID under the tags-tab. this measurement ID will replace {{measurementID}} in the instructions.
1. Create two new GAM Key-Value Pairs
- Key: brandmetrics-survey
- Value: yes
A second dynamnic type which will allows measurementId input later
2. Set Up a Survey Line Item
- Run of Network: Enables retargeting of as many exposed users as possible.
- Targeting: Under targeting, click add targeting → custom targeting. Choose the key we’ve defined and choose the value. Key-value brandmetrics-survey={{measurementID}}. Confirm it’s “brandmetrics-survey IS {{measurementID}}
- Start/End Dates: Start immediately and run indefinitely. If we haven’t reached 300 respondents after the campaign end date we can still retarget users up till two weeks after.
- Display Creatives: Set to Only One to ensure only one survey appears per page
- Line Item Type & Priority: Choose settings that integrate with your inventory. The priority should be high enough so surveys are not restricted. The Brand Metrics script aims to collect 100–300 survey responses per measurement. With a typical response rate of 0.2%, this requires 50,000–150,000 survey impressions.
- Creative Size: 300×250 (or another survey-compatible unit)
3. Survey Creative Setup
Include the following code in the creative:
<!-- Track survey completion as a line item click -->
<script>
window.top._brandmetrics = window.top._brandmetrics || [];
window.top._brandmetrics.push({ cmd: "_addeventlistener", val: {
event: "surveyanswered",
handler: function(ev){
var pixel = "%%CLICK_URL_UNESC%%";
var img = document.createElement("img");
img.setAttribute("src", pixel);
document.body.appendChild(img);
}
} });
</script>
<!-- Script to select, render survey, and handle responses -->
<script async src="<https://cdn.brandmetrics.com/surveyinad.js>"></script>
Note: Using this creative, each time a survey is answered, the survey line item will register a click.
When Brand Metrics wants to trigger a survey, it will set a targeting-key in the ad request the following way:
brandmetrics-survey=**{{MeasurementID}}**