Use Case

This document is for you if you are:

The general method will also work for other DMPs.

IMPORTANT NOTE

Please do NOT simply retarget users based on their survey responses:

  1. The Brand Metrics brand-lift methodology is highly efficient, and only requires 100-300 survey responses per measurement. This is too few to build meaningful segments directly.
  2. The survey process needs to be as impartial and disinterested as possible. If users become aware of an association between answering a survey and being later retargeted, they will stop answering them, undermining your ability to conduct accurate measurements, and increasing your survey inventory / real estate costs.

For these reasons, we strongly recommend that you use survey response data to build ‘lookalike’ audiences in your DMP and only retarget these wider audiences excluding the original respondents.

Permutive integration

Permutive has created a tracking method called “BrandMetricsSurveyResponse”, the subject of a support note on their website.

This can be used to build a cohort of respondents keyed on the BM measurement ID, which you can subdivide based on their responses to particular questions.

N.B. As of 2024/07/11 The following javascript supersedes that in the support note as it is designed to better handle multi-question surveys.

// Create the BM command array if it doesn’t exist already
window.top._brandmetrics = window._brandmetrics || [];

// Add the event handler to send answer data to Permutive
window.top._brandmetrics.push({
            cmd: '_addeventlistener',
            val: {
                event: 'surveyanswered',
                handler: function(ev) {
                    try {
                        // Only carry on if Permutive installed
                        if (window.top.permutive && window.top.permutive.track) {
                            // Only look at the last-added response
                            questionAnswers = ev.answers.split(';').slice(-1)[0];
                            questionAnswers = questionAnswers.split('-');
                            var question = null;
                            var answers = null;
                            // Get question number
                            if (questionAnswers[0]) {
                                question = questionAnswers[0];
                            }
                            // Get answer numbers, separated by commas
                            if (questionAnswers[1]) {
                                answers = questionAnswers[1].split(',');
                            }
                            // Call the Permutive method to update the cohort
                            window.top.permutive.track('BrandMetricsSurveyResponse', {
                                mid: ev.mid,
                                question: question,
                                answers: answers,
                            });
                        }
                    } catch (e) {
                        console.error('brandmetrics: Error sending data to
                            Permutive ', e);
                        }
                    },
                },
            });

How to use the connector

The connector code needs to be executed in one of two places:

  1. Within the survey line item creative (for in-ad surveys)
  2. On the page itself (if you use fly-in surveys).