The Trade Desk conversion lift studies (closed beta)
IMPORTANT: This feature is in closed beta and is available only to select clients. For details, contact your Technical Account Manager.
The Trade Desk conversion lift studies enable you to measure the incremental impact of your campaigns by comparing conversion rates between users who were exposed to your ads and a control group that wasn't. By running a study against one or more of your campaigns during mid-flight, you can determine whether your campaign strategy is resulting in conversions or if you are reaching users who would have converted anyway.
What you need to know
Here's what you need to know about conversion lift studies:
- You can create a conversion lift study for one of the following entity types:
- Advertiser
- Campaign
- Ad group
- Conversion lift studies follow the same entity ownership hierarchy. For example, if you create an advertiser study, the study applies to all current and future campaigns for the advertiser. The same applies to campaigns and ad groups.
- The API and documentation use the terms "experiment" and "study" interchangeably.
NOTE: You cannot run conversion lift studies for Programmatic Guaranteed (PG) or Digital out-of-home (DOOH) campaigns and ad groups.
Key terms
Here are some key terms related to conversion lift studies.
| Term | Definition |
|---|---|
| Test group | The group of users eligible to see your ads. This group is randomly assigned and includes users who may or may not actually see your ads. |
| Exposed audience | The subset of the test group that saw the ad. |
| Unexposed audience | The subset of the test group which did not see the ad, because the platform didn't win the auction. |
| Control group (holdout) | The group of eligible users withheld from seeing your ad during the study. |
| Lift (incremental lift) | The difference in conversion rate between the test and control groups. Lift shows how much incremental impact your ads had compared to not advertising. |
| Exposure rate | The percentage of the test group that saw at least one impression. A low exposure rate makes lift harder to detect. |
| Minimum detectable lift (MDL) | The smallest lift a study can likely detect, given its data, such as budget, audience size, and conversion rate. |
How conversion lift studies work
Conversion lift studies use a method called ghost bidding to compare the conversion behavior of the test group with that of the control group.
When a user becomes eligible to see your ad, the platform randomly assigns them to the test group or the control group:
- For users in the test group, the platform bids to show them your ad as usual.
- For users in the control group, the platform records that it would have bid, but no bid occurs.
The platform doesn't buy media for the control group, so you don't need to reserve budget for placeholder ads. There's no additional media cost to run a conversion lift study; the platform backfills the holdout so it still spends 100% of your budget.
The platform tracks conversions for both test and control groups and calculates the difference between their conversion rates. This difference is the lift, which shows how effective your ads are at driving conversions.
Cross-device vendor values
You can choose a cross-device vendor to determine which identity graph the platform uses during the study. These graphs identify users across their devices when building the exposed and control groups for the study.
The following table lists the cross-device vendors you can specify with the crossDeviceVendor field when you create the study.
Each cross-device vendor uses a graph type to determine how the platform groups a user's devices into a single identity before randomly assigning that identity to the test or control group:
- Household: Groups all devices associated with the same household, so the platform assigns every device in that household to the same group.
- Person: Groups all devices associated with the same individual, so the platform assigns every device linked to that person to the same group.
Keeping a household's or person's devices together in one group prevents splitting them between test and control, which would otherwise dilute the measured lift. AdBrain and LiveRamp resolve cross-device identity through their own methodologies rather than a graph type in the platform, and The Trade Desk ID randomizes at the individual device level with no cross-device resolution at all, so those vendors don't offer separate graph types.
TIP: For most studies, The Trade Desk recommends using Identity Alliance (
IAV2_PERSONorIAV2_HOUSEHOLD). For details, see Cross-device targeting.
| Value | Cross-Device Vendor | Graph Type | When to use |
|---|---|---|---|
IAV2_HOUSEHOLD |
Identity Alliance v2 | Household | Recommended, and often required, for CTV-heavy studies. Keeps all devices in the same household in the same group. |
IAV2_PERSON |
Identity Alliance v2 | Person | Recommended when you care about cross-device behavior. Keeps all devices linked to the same person in the same group. |
ADBRAIN |
Adbrain | N/A | Use when your campaigns already rely on Adbrain for cross-device targeting or measurement. |
LIVERAMP |
LiveRamp | N/A | Use when your conversions or audiences are primarily onboarded and measured through LiveRamp. Scale might be lower than with Identity Alliance. |
TDID |
The Trade Desk ID | N/A | Randomizes at the device level without a graph. Maximizes scale, but can split a single person across the test and control groups on different devices, which can dilute measured lift. |
Single-cell and multi-cell studies
There are two types of conversion lift studies: single-cell and multi-cell. A cell is a specific segment of randomly assigned users.
- Single-cell: The platform randomly assigns users to either the test or control group. A person, device, or household (depending on the cross-device vendor you use) can be served ads from any campaign in the study that targets them. Single-cell studies work best for finding the combined effect of multiple campaigns, or the effect of a single campaign.
- Multi-cell: The study includes multiple parallel test and control groups. If you're testing different conditions, such as creative variations or audience strategies, a single person is exposed to only one variation. Multi-cell studies work best for finding the effect of individual campaign dimensions, not the effect of an entire campaign.
TIP: Limit a single study to a maximum of four cells so that you can get statistically significant results without reducing scale too much.
The following table outlines use cases for each study type.
| Question you want answered | Best format | Use cases |
|---|---|---|
| Are my campaigns driving incremental conversions? | Single-cell | Get a snapshot of how your campaigns drive incremental conversions and understand the effectiveness of your campaigns on top of existing ad spend. Start with a single-cell study to gain experience with the product before you move to multi-cell studies. |
| What is the best way for my campaigns to drive incremental conversions? | Multi-cell | Test multiple variants of a campaign or ad group, such as different creatives, channels, or audience combinations, to determine which drives the most lift. |
NOTE: Results vary depending on the brand, campaign, target audience, and conversion events you test, so there are no universal benchmarks for conversion lift results.
Workflow overview
Before you create the study, you must have the following IDs:
A tracking tag ID
The IDs of the advertiser, campaigns, or ad groups you want to include in the study.
The following table outlines the step-by-step process for retrieving the required IDs and creating the conversion lift study.
| Step | Task | Operation | Notes |
|---|---|---|---|
| 1 | Retrieve tracking tags and eligible campaigns. | advertiser querycampaigns query |
None. |
| 2 | (Optional) Calculate the feasibility of the study you want to create. | conversionLiftExperimentSuggestedFeasibilityMetricsCreate mutationconversionLiftExperimentFeasibilityCalculationsCreate mutation |
None. |
| 3 | Create the study. | conversionLiftStudyCreate mutation |
A successful response returns the studyId value. Use this value to retrieve the results. |
| 4 | Retrieve study status and results. | conversionLiftStudy query |
To download the results of the study, use the URL returned in the resultsDownloadUrl field. |
After you create a study, you can manage it by updating it, canceling it, and so on. For details, see Manage conversion lift studies.
Retrieve tracking tag and campaign IDs
To create a study, you must have a tracking tag ID and the IDs of the entities you want to include in the study. Here are three ways you can retrieve these IDs:
- Retrieve a list of all eligible campaigns and tracking tags.
- Retrieve a list of all eligible ad groups.
- Retrieve tracking tags for specific campaigns.
Retrieve all eligible campaigns and tracking tags
To retrieve all eligible campaigns and their tracking tag IDs for an advertiser, use the campaigns query and set the following where filters:
- Include the ID of the advertiser that owns the campaigns you want to retrieve.
- Set the
isProgrammaticGuaranteed.eqfield tofalse. - Set the
isDooh.eqfield tofalse.
Here's an example campaigns query that retrieves all eligible campaigns and tracking tags for an advertiser.
query GetCampaignTrackingTagsForAdvertiserExample {
campaigns(
where: {
advertiserId: { eq: "ADVERTISER_ID_PLACEHOLDER" }
isProgrammaticGuaranteed: { eq: false }
isDooh: { eq: false }
}
first: 1000
) {
nodes {
id
conversionReportingColumns(
where: {
or: [
{ trackingTag: { offlineDataProviderId: { eq: "OFFLINE_PROVIDER_ID_PLACEHOLDER" } } }
{
trackingTag: {
offlineDataProvider: {
isUseInConversionLiftAllowed: { eq: true }
}
}
}
]
}
first: 50
) {
nodes {
id
reportingColumnId
trackingTag {
id
}
}
}
}
pageInfo {
endCursor
hasNextPage
}
}
}
A successful response returns the IDs for eligible campaigns in the campaigns.id field and eligible tracking tag IDs in the trackingTag.id field. Decide which campaigns and tracking tags to use and note their IDs. You'll need them when you create the study.
Retrieve eligible ad groups
To retrieve a list of eligible ad groups, use the advertiser query and in the adGroups object field, include the following fields:
- Set the following
wherefilters tofalse:isProgrammaticGuaranteed.eqisDooh.eq
- Include the
nodes.campaign.idfield to retrieve the associated campaign IDs. You need these IDs for when you retrieve the tracking tags for eligible ad groups.
Here's an example advertiser query for retrieving a list of eligible ad groups and their associated campaign IDs.
query GetAdGroupsForAdvertiserExample {
advertiser(id: "ADVERTISER_ID_PLACEHOLDER") {
id
adGroups(
where: { isProgrammaticGuaranteed: { eq: false }, isDooh: { eq: false } }
) {
totalCount
nodes {
id
name
status
channel
funnelLocation
campaign {
id
name
}
adGroupFlights(last: 50) {
nodes {
campaignFlightId
campaignFlight {
startDateInclusiveUTC
endDateExclusiveUTC
isCurrent
}
}
}
reporting {
generalReporting {
nodes {
metrics {
conversions
impressions
mediaCost {
advertiserCurrency
}
}
}
}
}
}
pageInfo {
endCursor
hasNextPage
hasPreviousPage
startCursor
}
}
}
}
After you decide which ad groups you want to include in the study, use their associated campaign IDs to retrieve the tracking tags you can use for these ad groups.
Retrieve tracking tags for specific campaigns
To retrieve tracking tags for campaigns you have already identified, use the advertiser query and filter by the IDs of the campaigns you want to include.
Here's an example advertiser query that retrieves eligible tracking tag IDs for specific campaigns under an advertiser.
query GetTrackingTagsForCampaignsExample {
advertiser(id: "ADVERTISER_ID_PLACEHOLDER") {
id
eligiblePixels: campaigns(
first: 200
where: {
id: { in: ["CAMPAIGN_ID_PLACEHOLDER_1", "CAMPAIGN_ID_PLACEHOLDER_2"] }
}
) {
nodes {
id
conversionReportingColumns(
first: 50
where: {
or: [
{ trackingTag: { offlineDataProviderId: { eq: null } } }
{
trackingTag: {
offlineDataProvider: {
isUseInConversionLiftAllowed: { eq: true }
}
}
}
]
}
order: { reportingColumnId: ASC }
) {
nodes {
id
reportingColumnId
trackingTag {
id
}
}
pageInfo {
endCursor
hasNextPage
}
}
}
}
}
}
A successful response returns a list of tracking tag IDs in the trackingTag.id field. Decide which tracking tag to use. Include it in the primaryTrackingTagId field when you create the study.
Calculate study feasibility
Calculating study feasibility is optional but it helps you determine whether your planned study has enough scale to detect a statistically significant lift.
NOTE: To get the most accurate results, calculate feasibility after your conversion tags or offline files have been collecting data for at least two weeks, and ideally a month.
The study feasibility calculation estimates two values based on your expected ad spend, holdout, frequency per household, CPM, and conversion rate:
- Minimum detectable lift (MDL): How small a lift the study can reasonably detect.
- Confidence level: How likely the study is to detect that lift, if it exists.
TIP: As a general guideline, look for a minimum detectable lift close to 1% at a confidence level of 80% or higher. This means the study is likely to detect lift of that size if it exists, but it doesn't guarantee that you'll see statistically significant lift.
To calculate study feasibility, complete the following steps:
- Generate suggested feasibility metrics based on your study parameters.
- Calculate the confidence level and minimum detectable lift using the returned feasibility metrics.
Generate suggested feasibility metrics
To generate suggested feasibility metrics, use the conversionLiftExperimentSuggestedFeasibilityMetricsCreate mutation and include the campaign IDs and tracking tag ID you want to use for the study.
Here's an example conversionLiftExperimentSuggestedFeasibilityMetricsCreate mutation that generates suggested feasibility metrics.
mutation {
conversionLiftExperimentSuggestedFeasibilityMetricsCreate(
input: {
advertiserId: "ADVERTISER_ID_PLACEHOLDER"
campaignIds: ["CAMPAIGN_ID_PLACEHOLDER"]
crossDeviceVendor: TDID
startDate: "STUDY_START_DATE_PLACEHOLDER"
endDate: "STUDY_END_DATE_PLACEHOLDER"
holdout: 0.2
primaryTrackingTagId: "TRACKING_TAG_ID_PLACEHOLDER"
}
) {
data {
calculations {
confidenceLevel
minimumDetectableLift
}
conversionRate
cpm
expectedAdSpend
frequencyPerHousehold
frequencyPerPerson
projectedConversions
projectedImpressions
projectedIndividuals
}
errors {
... on MutationError {
message
field
}
}
}
}
A successful response returns projected impressions, conversions, and other metrics you can use to calculate the feasibility.
Calculate feasibility
To calculate the confidence level and minimum detectable lift for your study, use the conversionLiftExperimentFeasibilityCalculationsCreate mutation and include the projectedIndividuals and conversionRate values from the preceding step.
Here's an example conversionLiftExperimentFeasibilityCalculationsCreate mutation that calculates study feasibility.
mutation {
conversionLiftExperimentFeasibilityCalculationsCreate(
input: { conversionRate: 0.2, holdout: 0.2, projectedIndividuals: 10000 }
) {
data {
confidenceLevel
minimumDetectableLift
}
errors {
... on MutationError {
message
field
}
}
}
}
Create a conversion lift study
Here's what you need to know about creating conversion lift studies:
- You can run only one study on a single entity at a time.
- A study can only include entities of the same type. For example, multiple campaigns, but not a mix of campaigns and ad groups.
- You can create multi-cell studies with different entity IDs of the same type, where each cell represents a separate entity. For example, you can create separate cells for two different campaigns in the same study.
IMPORTANT: For multi-cell studies, the sum of all
populationPercentagevalues across all cells must equal1.
To create a conversion lift study, use the conversionLiftStudyCreate mutation and in the theTradeDeskStudy input object, specify one of the following cellConfig fields based on your entity type:
advertiserCellConfigcampaignsCellConfigadGroupsCellConfig
Then, in the cellConfig field you included, include the following fields:
| Field | Description |
|---|---|
cellConfig.cells |
One object per cell you want to create in the study. |
cells.entityIds |
The ID of each entity to include in the study. |
primaryTrackingTagId |
The tracking tag for the study. See Retrieve tracking tag and campaign IDs. |
startDate, endDate |
The date range for the study. |
cells.userMetadataInput |
(Optional) The feasibility metrics you calculated, to measure results against your projections. |
Here's an example conversionLiftStudyCreate mutation that creates an advertiser conversion lift study.
mutation {
conversionLiftStudyCreate(
input: {
theTradeDeskStudy: {
advertiserId: "ADVERTISER_ID_PLACEHOLDER"
name: "STUDY_NAME_PLACEHOLDER"
startDate: "2026-01-11T05:00:00"
endDate: "2026-02-11T05:00:00"
crossDeviceVendor: TDID
attributionWindowInDays: NONE
primaryTrackingTagId: "TRACKING_TAG_ID_PLACEHOLDER"
cellConfig: {
advertiserCellConfig: {
cell: {
name: "CELL_NAME_PLACEHOLDER"
holdoutRate: 0.2
populationPercentage: 1
entityIds: ["ADVERTISER_ID_PLACEHOLDER"]
userMetadataInput: {
conversionRate: 0.006072
cpm: 18.97
expectedAdSpend: 95576
frequencyPerHousehold: 1.45
frequencyPerPerson: 1.32
holdout: 0.2
projectedConversions: 100000
projectedImpressions: 10000000
projectedIndividuals: 30030
}
}
}
}
}
}
) {
data {
id
studyId
createdAt
lastUpdatedAt
name
startDate
endDate
status
rejectionReason
emailAddresses
advertiser {
id
}
advertiserBasicInfo {
id
}
provider {
id
}
providerAttributes {
... on ConversionLiftStudyTheTradeDeskAttributes {
id
studyId
attributionWindowInDays
cellType
crossDeviceVendor
isJustLaunch
offlineDataProvider
primaryTrackingTag {
id
}
cells {
id
name
description
holdoutRate
populationPercentage
testLowerBoundInclusive
testUpperBoundExclusive
controlLowerBoundInclusive
controlUpperBoundExclusive
isArchived
advertisers {
id
}
campaigns {
id
}
adGroups {
id
}
feasibilitySystemCalculated {
metadata {
id
budget
conversionRate
conversions
cpm
expectedImpressions
frequencyPerHousehold
frequencyPerPerson
holdout
individuals
isAccurate
results {
confidenceLevel
minimumDetectableLift
}
}
}
feasibilityUserCalculated {
metadata {
id
budget
conversionRate
conversions
cpm
expectedImpressions
frequencyPerHousehold
frequencyPerPerson
holdout
individuals
isAccurate
results {
confidenceLevel
minimumDetectableLift
}
}
}
}
}
}
}
errors {
... on MutationError {
message
field
}
}
}
}
After you create the study, use the returned studyId value to retrieve its status and the download link for the study results. For details, see Retrieve study status and results.
Retrieve study status and results
To retrieve the status and results for a study, use the conversionLiftStudy query, include the study ID, your provider ID, and the downloadUrl field.
NOTE: The first results are available seven days after the study start date, and every seven days thereafter.
Here's an example conversionLiftStudy query that retrieves the status and results of a study.
query GetStudyResultsExample {
conversionLiftStudy(providerId: "PROVIDER_ID_PLACEHOLDER", studyId: "STUDY_ID_PLACEHOLDER") {
id
status
results {
nodes {
id
resultDate
downloadUrl
}
}
}
}
Manage conversion lift studies
The following table lists the available tasks for managing your conversion lift studies.
| Task | Operation |
|---|---|
| Update a study. | conversionLiftStudyUpdate mutation |
| Cancel a study. | conversionLiftStudyCancel mutation |
Update a study
To update a study, use the conversionLiftStudyUpdate mutation. Include the studyId field and the fields you want to update in the theTradeDeskStudy input object.
Here's an example conversionLiftStudyUpdate mutation that updates a conversion lift study.
mutation {
conversionLiftStudyUpdate(
input: {
theTradeDeskStudy: {
studyId: "STUDY_ID_PLACEHOLDER"
name: "UPDATED_STUDY_NAME_PLACEHOLDER"
}
}
) {
data {
id
name
}
errors {
... on MutationError {
message
field
}
}
}
}
Cancel a study
To cancel a study, use the conversionLiftStudyCancel mutation and include the studyId field in the theTradeDeskStudy input object.
Here's an example conversionLiftStudyCancel mutation that cancels a conversion lift study.
mutation {
conversionLiftStudyCancel(
input: {
theTradeDeskStudy: {
studyId: "STUDY_ID_PLACEHOLDER"
}
}
) {
data {
id
endDate
}
errors {
... on MutationError {
message
field
}
}
}
}
FAQs
The following are frequently asked questions about conversion lift studies.
Can a campaign be in multiple studies at the same time?
No. A campaign can't be active in more than one study simultaneously.
Can I run multiple advertiser studies at the same time?
No. You can run only one advertiser study at a time. Overlapping advertiser studies are not allowed because an advertiser study covers all current and future campaigns under the advertiser.
Can I include campaigns and ad groups in the same study?
No. You can include only one entity type in a study. However, when you include a campaign in a study, all of its ad groups are automatically included.
When are study results available?
The first results are available seven days after the study start date, and every seven days thereafter.
What is the difference between a campaign study and an advertiser study?
A campaign study measures lift for one or more specific campaigns you select. An advertiser study measures lift across all current and future campaigns under the advertiser and does not require campaign IDs as input.
Can I skip the feasibility calculation?
Yes. The feasibility steps are optional. To create a study without feasibility metrics, set the justLaunch value to false.
Which channels are eligible for conversion lift studies?
The following channels are eligible for conversion lift studies:
- Display
- Video (CTV and non-CTV)
- Audio
- Native display
- Native video
Digital out-of-home (DOOH) campaigns continue to reach both the test and control groups as if the study didn't exist, so you can't measure conversion lift. Running these channels alongside a study suppresses the lift you can measure from your other campaigns.
Are programmatic guaranteed (PG) deals eligible for conversion lift studies?
No, PG deals continue to reach both the test and control groups as if they didn't exist, so you can't measure conversion lift. Running these channels alongside a study suppresses the lift you can measure from your other campaigns.
Which conversion types are eligible in conversion lift studies?
All real-time conversions and in-app events are eligible for conversion lift studies. Data-rich conversions, such as page views or app installs, are often better candidates than data-sparse conversions, such as purchases.
For in-app events, your SDK partner must send all conversion events to the platform, not just attributed ones. This lets the platform measure conversions for the control group as well. The Trade Desk works with the following offline conversion partners:
- Adsquare (Canada, France, Germany, Italy, Spain, UK, and US)
- LiveRamp (US) — contact Data Partnerships for approval
- PlaceIQ (US)
Can I specify a holdout percentage?
Yes. You can specify any holdout percentage between 5% and 50%. A 50% holdout gives you the most confidence in detecting a lift, but reaches fewer users with your ads. The Trade Desk recommends a holdout of around 20% of your total audience. For details, see Calculate study feasibility to help you decide on a holdout percentage.
What metrics are in my conversion lift reports?
Conversion lift reports include the following metrics:
| Metric | Scope | Definition |
|---|---|---|
| Delta lift | Overall | The difference between the test and control group's conversion rates, in percentage points. |
| Percent lift | Overall | Delta lift expressed as a percentage of the control group's conversion rate — the relative increase in conversions your ads drove. |
| Test group size | Test | The number of users included in the test group. |
| Control group size | Control | The number of users included in the control group. |
| Test conversion rate | Test | The percentage of the test group that converted. |
| Control conversion rate | Control | The percentage of the control group that converted. |
| Standard error | Overall | The estimated variability of the measured lift, used to calculate significance. |
| Z-score | Overall | The number of standard errors the observed lift is from zero. A larger magnitude indicates stronger evidence of a real lift. |
| P-value | Overall | The probability of seeing this lift, or a larger one, if there were actually no true lift. A lower p-value indicates stronger evidence of a real lift. |
| Minimum detectable lift (MDL) | Overall | The smallest lift a study can likely detect, given its data, such as budget, audience size, and conversion rate. |
Do conversion lift studies show negative lift?
No. Conversion lift studies use a one-sided statistical test that checks whether the test group's conversion rate is greater than the control group's, not the other way around.
What does a significant result mean?
A significant result means the study detected lift beyond the expected random variation, which indicates that your campaign is effective. Consider investigating strategies to further increase this lift and analyzing whether the net conversion rate justifies your current ad spend.
What does a non-significant result mean?
A non-significant result means the lift, whatever it is, is smaller than the random variation in the study, not that the lift is zero or even small. A low-powered study can have high noise: the actual lift could be as high as 10%, but if the study was powered only to detect a 15% lift, it won't detect the 10% gain. In a high-powered study, a non-significant result indicates that the lift is, in fact, very small. Even non-significant results are useful for designing an appropriately sized follow-up study.