View-Through Attribution
Overview
VT attribution reports the influence of ad impressions on downstream purchases. Where click-through (CT) attribution credits a conversion to an ad the shopper clicked, VT attribution credits a conversion to an ad the shopper saw (an impression) within the attribution window. VT is provided as an additional, reporting-only set of metrics alongside your existing CT exports.
How VT relates to CT
- CT remains the core metric. VT does not replace CT. VT exports are provided as sister reports to the CT exports, based on a different attribution logic.
- VT is currently only available via data export. VT exports are available only through bulk data export. If you would like to access your VT metrics, contact your Moloco representative.
- Separate pipelines. CT and VT are attributed in independent pipelines. A single purchase may be attributed once in the CT pipeline and once in the VT pipeline, so VT and CT figures should not be added together.
- Same attribution window. VT uses the same platform-level attribution window that you would configure upon onboarding. No separate window configuration is required.
- Deduplication. Within the VT pipeline, a conversion is attributed at most once, using a last-touch model on the same ad.
- View deduplication. When multiple impressions are simultaneously incurred for the same ad, they are deduplicated so that only one of these simultaneous impressions are considered for attribution.
Availability, format, and mutability
VT exports follow the same policies as the existing CT ad performance exports:
- Availability. VT results are available by default, but access to the data requires enabling the VT data export specifically.. Historical data before the establishment of the VT attribution support is not backfilled.
- Mutability. Any partition still within its attribution window is re-uploaded daily as attribution matures. Deduplicate on download rather than appending new files to old data.
- Format. VT exports are delivered in the same file format as the corresponding CT ad performance exports. Any field that would return the exact same result under CT and VT (such as impression) are omitted in the VT exports as they can already be found in the CT exports.
Export locations
VT exports are delivered under a dedicated influence/vt path, separate from the core report path used for CT metrics.
Ad type breakdown:
gs://mcm-export-{platform-name}/v3/influence/vt/ad_type/{ad_format}/YYYY-MM-DD/data-*Targeting option breakdown:
gs://mcm-export-{platform-name}/v3/influence/vt/{targeting_option}/YYYY-MM-DD/data-*
Where:
{ad_format}is one ofsponsored_product,sponsored_brand,sponsored_display, orreserved_display.{targeting_option}is one ofplacement,audience, orkeyword.
The seven VT exports
VT-attributed purchase and revenue are available across four ad types and three targeting options.
| № | Breakdown | Export | Path segment |
|---|---|---|---|
| 1 | Ad type | Sponsored Products (VT) | v3/influence/vt/ad_type/sponsored_product/ |
| 2 | Ad type | Sponsored Brands (VT) | v3/influence/vt/ad_type/sponsored_brand/ |
| 3 | Ad type | Sponsored Display (VT) | v3/influence/vt/ad_type/sponsored_display/ |
| 4 | Ad type | Reserved Display (VT) | v3/influence/vt/ad_type/reserved_display/ |
| 5 | Targeting option | Placement (VT) | v3/influence/vt/placement/ |
| 6 | Targeting option | Audience (VT) | v3/influence/vt/audience/ |
| 7 | Targeting option | Keyword (VT) | v3/influence/vt/keyword/ |
Schema: Sponsored Products (VT)
VT exports include the fields needed to identify the campaign and breakdown dimension, plus the VT-attributed metrics. Monetary values (revenues, indirect_revenues) are reported as integers in micro units. The direct-attribution fields (purchases, revenues) are included for consistency with CT and may be empty in the initial rollout.
| Field Name | Type | Mode | Description |
|---|---|---|---|
| date | DATE | NULLABLE | Date of the reported data |
| platform_id | STRING | NULLABLE | Unique platform ID |
| currency | STRING | NULLABLE | Currency of the reported monetary values (multi-currency platforms) |
| ad_account_id | STRING | NULLABLE | Unique ID of the ad account that owns the campaign |
| campaign_id | STRING | NULLABLE | Unique campaign ID |
| catalog_item_id | STRING | NULLABLE | Unique item / product ID from the catalog |
| inventory_id | STRING | NULLABLE | Unique inventory ID |
| purchases | INTEGER | NULLABLE | Number of VT-attributed direct purchases |
| revenues | INTEGER | NULLABLE | VT-attributed revenue from direct purchases, in micro units |
| indirect_purchases | INTEGER | NULLABLE | Number of VT-attributed indirect purchases |
| indirect_revenues | INTEGER | NULLABLE | VT-attributed indirect revenue, in micro units |
Schema: Sponsored Brands (VT)
| Field Name | Type | Mode | Description |
|---|---|---|---|
| date | DATE | NULLABLE | Date of the reported data |
| platform_id | STRING | NULLABLE | Unique platform ID |
| currency | STRING | NULLABLE | Currency of the reported monetary values (multi-currency platforms) |
| ad_account_id | STRING | NULLABLE | Unique ID of the ad account that owns the campaign |
| campaign_id | STRING | NULLABLE | Unique campaign ID |
| asset_id | STRING | NULLABLE | Unique creative ID |
| catalog_item_id | STRING | NULLABLE | Unique item / product ID from the catalog |
| inventory_id | STRING | NULLABLE | Unique inventory ID |
| purchases | INTEGER | NULLABLE | Number of VT-attributed direct purchases |
| revenues | INTEGER | NULLABLE | VT-attributed revenue from direct purchases, in micro units |
| indirect_purchases | INTEGER | NULLABLE | Number of VT-attributed indirect purchases |
| indirect_revenues | INTEGER | NULLABLE | VT-attributed indirect revenue, in micro units |
Schema: Sponsored Display (VT)
| Field Name | Type | Mode | Description |
|---|---|---|---|
| date | DATE | NULLABLE | Date of the reported data |
| platform_id | STRING | NULLABLE | Unique platform ID |
| currency | STRING | NULLABLE | Currency of the reported monetary values (multi-currency platforms) |
| ad_account_id | STRING | NULLABLE | Unique ID of the ad account that owns the campaign |
| campaign_id | STRING | NULLABLE | Unique campaign ID |
| asset_id | STRING | NULLABLE | Unique creative ID |
| inventory_id | STRING | NULLABLE | Unique inventory ID |
| purchases | INTEGER | NULLABLE | Number of VT-attributed direct purchases |
| revenues | INTEGER | NULLABLE | VT-attributed revenue from direct purchases, in micro units |
| indirect_purchases | INTEGER | NULLABLE | Number of VT-attributed indirect purchases |
| indirect_revenues | INTEGER | NULLABLE | VT-attributed indirect revenue, in micro units |
Schema: Placement Targeting (VT)
| Field Name | Type | Mode | Description |
|---|---|---|---|
| date | DATE | NULLABLE | Date of the reported data |
| platform_id | STRING | NULLABLE | Unique platform ID |
| ad_account_id | STRING | NULLABLE | Unique ID of the ad account that owns the campaign |
| campaign_id | STRING | NULLABLE | Unique campaign ID |
| currency | STRING | NULLABLE | Currency of the reported monetary values (multi-currency platforms) |
| placement_type | STRING | NULLABLE | Placement type |
| purchases | INTEGER | NULLABLE | Number of VT-attributed direct purchases |
| revenues | INTEGER | NULLABLE | VT-attributed revenue from direct purchases, in micro units |
| indirect_purchases | INTEGER | NULLABLE | Number of VT-attributed indirect purchases |
| indirect_revenues | INTEGER | NULLABLE | VT-attributed indirect revenue, in micro units |
Schema: Audience Targeting (VT)
| Field Name | Type | Mode | Description |
|---|---|---|---|
| date | DATE | NULLABLE | Date of the reported data |
| platform_id | STRING | NULLABLE | Unique platform ID |
| ad_account_id | STRING | NULLABLE | Unique ID of the ad account that owns the campaign |
| campaign_id | STRING | NULLABLE | Unique campaign ID |
| currency | STRING | NULLABLE | Currency of the reported monetary values (multi-currency platforms) |
| audience_label | STRING | NULLABLE | Audience label targeted by the campaign |
| purchases | INTEGER | NULLABLE | Number of VT-attributed direct purchases |
| revenues | INTEGER | NULLABLE | VT-attributed revenue from direct purchases, in micro units |
| indirect_purchases | INTEGER | NULLABLE | Number of VT-attributed indirect purchases |
| indirect_revenues | INTEGER | NULLABLE | VT-attributed indirect revenue, in micro units |
Schema: Keyword Targeting (VT)
The keyword VT export does not repeat total_search_term_count, because that value is unique per (date, ad_account_id, campaign_id, keyword, keyword_match_type) and is already provided in the CT keyword export.
| Field Name | Type | Mode | Description |
|---|---|---|---|
| date | DATE | NULLABLE | Date of the reported data |
| platform_id | STRING | NULLABLE | Unique platform ID |
| ad_account_id | STRING | NULLABLE | Unique ID of the ad account that owns the campaign |
| campaign_id | STRING | NULLABLE | Unique campaign ID |
| currency | STRING | NULLABLE | Currency of the reported monetary values (multi-currency platforms) |
| keyword | STRING | NULLABLE | Keyword targeted by the campaign |
| keyword_match_type | STRING | NULLABLE | Keyword match type |
| purchases | INTEGER | NULLABLE | Number of VT-attributed direct purchases |
| revenues | INTEGER | NULLABLE | VT-attributed revenue from direct purchases, in micro units |
| indirect_purchases | INTEGER | NULLABLE | Number of VT-attributed indirect purchases |
| indirect_revenues | INTEGER | NULLABLE | VT-attributed indirect revenue, in micro units |
Schema: Reserved Display (VT)
Reserved Display is reported at the line item level. Because Reserved Display ads are not tied to a specific item, Reserved Display attribution is indirect. The direct-attribution fields (purchases, revenues) are included for consistency with the other exports and may be empty.
| Field Name | Type | Mode | Description |
|---|---|---|---|
| date | DATE | NULLABLE | Date of the reported data |
| timezone | STRING | NULLABLE | Timezone used for the report |
| platform_id | STRING | NULLABLE | Unique platform ID |
| currency | STRING | NULLABLE | Currency of the reported monetary values (multi-currency platforms) |
| order_id | STRING | NULLABLE | Unique order ID |
| line_item_id | STRING | NULLABLE | Unique line item ID |
| impressions | INTEGER | NULLABLE | Number of impressions |
| clicks | INTEGER | NULLABLE | Number of clicks |
| reach | INTEGER | NULLABLE | Number of unique users reached |
| purchases | INTEGER | NULLABLE | Number of VT-attributed direct purchases |
| revenues | INTEGER | NULLABLE | VT-attributed revenue from direct purchases, in micro units |
| indirect_purchases | INTEGER | NULLABLE | Number of VT-attributed indirect purchases |
| indirect_revenues | INTEGER | NULLABLE | VT-attributed indirect revenue, in micro units |
Notes
- VT figures reflect influence and should not be summed with CT figures for the same campaigns.
- The indirect-attribution fields keep the
indirect_prefix (rather than avt_-specific name). Because VT and CT are delivered as separate files under separate paths, you are responsible for joining them on the shared identifying fields.- Monetary values (
revenues,indirect_revenues,money_spent) are reported as integers in micro units. Divide by 1,000,000 to convert to the currency's major unit.- When loading exported files into BigQuery, use
SELECT *to preserve schema flexibility and avoid type-related issues.- To enable VT attribution exports, contact your Moloco representative.
Updated 3 days ago
