AudienceData
Adserver
Best Practices
Do's and dont's when using AudienceData
How to document the accuracy?
Why introduce segments with different affinities?
Using targeting with the right conditioning
DSP
How to access data AudienceData segments in Adform
How to find AudienceData in MediaMath DMP
How to find segments in BidTheatre
How to find segments in Display & Video 360
Data Introduction
Available Segments
Existing integrations
Methodology and precision
The distinction between campaign impression profile and impressions in target group
What is deterministic data?
What is probabilistic data?
Publisher
Accessing targeted data with DFP Audience sync
AdForm publisher integration instructions
How to find data usage information in Google 360 for Publishers former DFP
How to report on AudienceProject segment usage in DFP
Inventory available for realtime targeting in DFP
Lotame integration
Sending targeting key values to AdManager
Troubleshooting
AudienceHub
How to create your first audience
How to create your first seed
Case 1: Selecting a customer file
Case 2: Selecting an Amazon S3 file
Case 3: Selecting survey data from UserReport
Creating a seed
Insights reports
What is AudienceHub?
The new generation of AudienceReport
API Documentation
Account Management
Account Types
Agencies: managing user access for connected accounts
FAQ: Disconnecting accounts
How to add new clients
How to connect my account to my client's or agency's account
How to disconnect accounts
How to manage access to my accounts
User roles
What is the 2-step verification and how does it work?
Integrations
Addressable TV
How is addressable TV measured?
What are the available addressable TV device types?
What is addressable TV?
What is the addressable TV measurement availability?
Adform
Campaign Manager
DV360
Facebook/Meta
Semi-Automated integrations
TechEdge Integration
YouTube
Measurement Methodology
Pixel Implementation
Getting Started with Pixels
How do URL-Parameters work?
How to add parameters to AudienceReport pixel
How to check if your pixel is firing?
How to create a pixel?
What is a CACHE-Buster and why do we need it?
What is a tracking pixel?
What is the purpose of a t-code?
Setting up Pixels
How to setup measurement in Adform buy-side (Adform flow)
Implementing pixels in Campaign Manager
Implementing pixels in Display & Video 360
The GDPR parameters
SSL - Compliance
Pricing
Reports
Creating and Sharing reports
How to add and export tracking pixels to your reporting items
How to add custom report items
How to duplicate a report
How to export your report
How to share your report with your client
How to understand your report
How to understand your report - Dashboard
How to understand your report - Profile
How to understand your report - Reach
How to use an exported pixel
Recalculation of reports
Getting Started with Reports
The original AudienceReport
Addressable TV
Activating Addressable TV measurement
Addressable TV measurement availability
Available Addressable TV device types
How Addressable TV is measured
How to get the Addressable TV measurement tool in AudienceReport
Impact on sample size and frequency
Reporting of Addressable TV campaign
Sharing Addressable TV measurement numbers with TechEdge
What is Addressable TV?
Adserver Implementation
Ad Tech
Adserver - Adform
Adserver - VideoPlaza
Atlas
Double Click DCM Adserver
Emediate
Extented Sizmek Asia-guide
How to implement creative wrapper in Ad Manager
Programmatic Publisher Ad Server - Adform PPAS
Setting-up video measurement in Google Ad Manager
Sizmek Ad Suite Tracking
Sizmek/MediaMind guide
Tracking using JavaScript
Implementing AudienceReport tracking pixels in Webspectators
Brand Lift Studies
Cache-buster
Is my cache-buster working?
What is a cache-buster?
Which cache buster shall I use for my ad server?
Why do we need a cache-buster?
Creating Projects
Adding tracking points / pixels to your project
Applying filters to your data
Change your target group or report period
Creating your first project
Duplicating campaigns
How to merge projects
How your data will change when applying filters
Custom Segments
Activating your Customer Segments 3.0
Available Custom Segments
Custom Segments 3.0
Custom Segments and Sample Size
Reach, Coverage and Segments Availability
What are Custom Segments?
Event Tracking
Adding tracking points / pixels with event tracking to your project
Event tracking in various adservers
Implementing click trackers
In-app tracking
In-view tracking of inlined content
Understanding Event Tracking
What is Event Tracking?
Integrated Report
Connect your Facebook Business Manager account to AudienceReport
Connect your Google Ads account to AudienceReport
Connect your Google Display & Video 360 account to AudienceReport
How are data integrated?
How to create an Integrated Report
To-do list before creating an Integrated Report
Understanding your Integrated Report
What is an Integrated Report?
Integrations
Adform integration set-up
Automatic tracking of DFP campaigns
Google Campaign Manager Integration
Integrate AudienceReport and Techedge AxM (AdvantEdge Cross Media)
Intercept
Pixel implementation
Quality
How Transparency is measured
How Viewability is measured
How the Overall Quality Score is calculated
Viewability tracking using AudienceReport measurement script
What is Quality?
What is a good Quality score?
What is a hidden referrer or a generic referrer?
What is the difference between no referrer and other referrers (in the tracking point violations table)?
When is a tracking point considered to be violating Geo Compliance/Transparency/Viewability?
Why can’t I drill down on some countries to see in which regions my impressions are loaded?
Why is my overall score not that bad when almost all my impressions are of low quality?
Why is there a discrepancy between the impression count in the Quality tab and the rest of the report while my campaign is running?
Will my viewability score of 0.0 affect the overall Quality score if I didn’t implement in-view tracking?
Reports
Customized PDF reports
Deeper Insights with Campaign Audience Measurement
Exporting your report
How to search for your project
Introducing the common affinity profile
Managing your projects with labels
Sample sizes
Tired of clicks and imps?
Understanding your project
Technical Questions
Account Administration
Ad blocking
Can I change the phone number I chose for the two-step verification process?
Checking SSL-Compliance
General Troubleshooting
Getting started with AudienceReport API
How do URL-parameters work?
How often will I be asked to log in through the two-step verification process?
How to track traffic by device type
If you accidentally delete pixels from your project
The procedure to enable the two-step verification
What if I lose my phone and cannot access my account?
Tracking Pixels
Upgrade to the new generation of AudienceReport
UserReport
Installing UserReport and setting up your media sections
Defining your website in the media section
General Account Information
Installing UserReport on your website or app
Kits
General Information
Reach and Coverage of Custom Segments
Target Audience verified by Kits
The technology behind Kits
What are Kits?
Getting started
Troubleshooting
Working with Kits
The feedback widget
Activate the Feedback widget
Adding context information to ideas and bugs
Customize Feedback widget buttons and links
Customize color, text and position of the Feedback widget
Disabling the Feedback widget on specific devices
Get direct link to the Feedback widget or manually display it
How to activate your Feedback widget
How to change the status of an idea or add a comment
How to disable the "report a bug" feature
Is the Feedback Forum available in my language?
Pre-populating username and email
What is the Feedback widget?
The feedback report
The survey widget
Activate Email Collect
Activate Net Promoter Score ®
Activate the Survey widget and create your questions
Chained questions and how they work
Controlling invitation frequency when using UserReport script and Google Tag Manager
How many questions can be added?
How many surveys answers do I need?
How to add questions to your survey
How to customise you survey widget
How to deactivate and delete your survey questions
How to show or hide results from users
Is UserReport 100% free?
Is the UserReport survey widget available in my language?
Managing invitation rules through Ad-server
Preview your survey
Respecting the user
User invitation to UserReport survey and the quarantine system
Who pays for the prizes in the survey?
Will UserReport slow down my website? Is it affected by popup blockers?
The Google Analytics Integration
The survey reports
Accessing Newsletter signups using API
- All Categories
- UserReport
- Installing UserReport and setting up your media sections
- Installing UserReport on your website or app
- Installing UserReport SDK to Android Application
Installing UserReport SDK to Android Application
This guide will walk you through how to install UserReport survey tool on your native Android app.
Please notice that it is a technical guide and therefore it is targeted to developers.
Before proceeding with this guide, you need to configure as “ Android app” your media in UserReport interface. You can do this by going to the media settings and adding a new media. When asked on which media you want to run UserReport please select Android app.

Once this is done, you will find the two SDK initializations parameters that will be needed to configure UserReport in-app code: the SAK_ID (to identify your account) and the MEDIA_ID (to identify your app).

Adding UserReport SDK to your app
Add dependencies to app/build.gradle.
1. Add dependencies to app/build.gradle
apply plugin: 'com.android.application'
dependencies {
compile "com.android.support:appcompat-v7:22.1.1"
compile "com.audienceproject:userreport:0.+"
compile "com.google.android.gms:play-services:7.5.0+"
}
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.userreport.example.myapplication"
minSdkVersion 21
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
}
2. Add permissions to app/src/main/AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mixpanel.example.myapplication" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" >
<activity android:name=".MainActivity" android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
3. Add UserReport to your main activity app/src/main/java/com/userreport/example/myapplication/MainActivity.java
package com.mixpanel.example.myapplication;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import com.audienceproject.UserReport;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String sakId = YOUR_SAK_ID; // eg: "yourcompany"
String mediaId = YOUR_MEDIA_ID; // eg: "b2a408cb-719d-4468-a943-1187201d1ccb"
new UserReportBuilder(sakId, mediaId)
.build(this);
}
}
User identification parameters
If you want to send user identification parameter you can do it in following way:
new UserReportBuilder(ACCOUNT_ID, MEDIA_ID)
.setUserInfo(UserIdentificationType.EmailSha256, "87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674")
.build(this);
Please notice that you always need to send hashed emails.
Invitation rules
By default, users are eligible for an invitation after spending in application X minutes and total Y screen-views. The screen view is an activity start inside your app, when a user becomes eligible for invitation in Z seconds from application session started we will check if the user can be invited:
- Is the survey enabled for this media?
- Is the current user not in the UserReport quarantine?
If answers on both questions and on the invitation frequency selected in UserReport interface, the user will or won't be invited to the survey.
When the invitation is shown - we put the user to quarantine so he or she will be not invited again and again. Depending on what action the user will perform in invitation – the quarantine period will last for a different span of time. Here you can find detailed information on quarantine rules applied.
Testing
During development, it is very important to set test mode on. It will guarantee that pop up will appear each time when invite conditions met (X minutes and total Y screen-views). You can do it in the following way
new UserReportBuilder(ACCOUNT_ID, MEDIA_ID)
.setSurveyTestMode()
.build(this);
Automatically measure activity state changes as page views
If you want to automatically measure Activity State Changes as page views, use the UserReportBuilder with the default provided invoker, the StandardInvoker class.
new UserReportBuilder(YOUR_SAK_ID, YOUR_MEDIA_ID)
.setSurveyInvoker(
new StandardInvoker(context, this.getSettingsLoader(context), prefWrapper)
;
Manually measure any kind of event as a screen view
To manually register any kind of event as a screen view, use the UserReportBuilder with the ManualEventSurveyInvoker class. This class allows you to increment the view counter on any kind of custom provided event by simply calling the makeEvent() method.
new UserReportBuilder(YOUR_SAK_ID, YOUR_MEDIA_ID)
.setSurveyInvoker(new ManualEventSurveyInvoker(5));
Alternatively, you can implement even more complex custom Invokers by implementing the ISurveyInvoker interface.
Change Settings
To update the default rules for the rendering of the survey use the UserReportBuilder with the ActivityChangesSurveyInvoker class. This invoker allows you to specify after how many view counts the survey should be invoked.
new UserReportBuilder(YOUR_SAK_ID, YOUR_MEDIA_ID)
.setSurveyInvoker(new ActivityChangesSurveyInvoker(this, 5, MainActivity.class.getName()))
.skipInAppActivityChangeFor("");
You can use the skipInAppActivityChangeFor(“ActivityClassName”) method to prevent counting switches to specific activities, like for example to the main activity.
Update user information
When changing user data, you should also send the updated data to the UserReport survey instance.
this.survey.setUserInfo(UserIdentificationType.Email, "email@google.com");
Manually trigger the survey based on custom parameters
If you decide to trigger the survey manually based on custom parameters, you can use the following method attached to the survey instance:
this.survey.tryInvite();
Debugging
For debugging purposes, we recommend to implement ISurveyLogger and set it during initialization. Like this
new UserReportBuilder(ACCOUNT_ID, MEDIA_ID)
.setSurveyTestMode()
.setLogger(new someCustomLoggerImplementation())
.build(this);