> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sourcemedium.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# obt_media_mix_performance

> Full-detail media mix measurement at the vendor’s reported grain, including the sales venue.

<Note>
  **Pro warehouses only.** Media mix tables are not delivered on Foundation warehouses. See [Foundation and Pro](/docs/data-activation/managed-data-warehouse/overview).
</Note>

<Warning>
  **Two ways to get a wrong number from this table, both structural.**

  **Filtering to one sales venue.** Spend books to the venue the media ran on; revenue books to the venue the purchase happened on. Meta spend runs on your website while a share of the sales it drives land on Amazon, so filtering to a single `sales_platform` gives you the wrong denominator and can show an infinite return. Sum across venues; `is_spend_venue` marks the row the media actually ran on.

  **Comparing lenses below the grain they share.** Vendors resolve each segment to the finest level they can and report different metrics at different levels. `ad_platform_reported_*` is absent at channel level; `last_click_*` and `mmm_new_customer_*` are absent at ad and ad group level. Group by ad group and compare lenses and the missing one reads as zero rather than as missing.

  Use [rpt\_media\_mix\_channel\_daily](/docs/data-activation/data-tables/sm_transformed_v2/rpt_media_mix_channel_daily) for any lens comparison or ROAS figure. It collapses both dimensions for you.
</Warning>

```yaml theme={null}
version: 2

models:
  - name: obt_media_mix_performance
    description: >
      Full-detail media mix measurement: every row the vendor reported, at the grain and sales venue
      it reported it, with three measurement lenses side by side. Grain: one row per
      media_mix_record_key. Date field: date.

      This is the table that shows where media drove sales that landed somewhere else. Spend books to
      the venue the media ran on and revenue books to the venue the purchase happened on, so a
      channel can look unprofitable where it spends while driving substantial revenue elsewhere.
      Summing across sales_platform reunites the two.

      Use it for the venue split, for campaign and ad detail on a single lens, and for reconciling
      against your measurement vendor's own interface using vendor_record_key. For comparing lenses
      or reading a ROAS, use rpt_media_mix_channel_daily instead.
    columns:
      - name: sm_store_id
        description: >
          SourceMedium's unique store identifier. For Shopify stores, derived from the myshopify.com
          domain; for other platforms (Amazon, TikTok Shop, Walmart.com), uses platform-specific
          identifiers.

      - name: ad_clicks
        description: >
          Clicks on the media, as reported by the measurement vendor.

      - name: ad_group_name
        description: >
          Ad group name. Present only on rows the vendor resolved to ad or ad group level.

      - name: ad_impressions
        description: >
          Impressions for the media, as reported by the measurement vendor.

      - name: ad_name
        description: >
          Ad name. Present only on rows the vendor resolved to ad level.

      - name: ad_platform_reported_conversions
        description: >
          Conversions the advertising platform reported for itself. Absent at channel level.

      - name: ad_platform_reported_revenue
        description: >
          Revenue the advertising platform claimed for itself, in the currency shown by
          media_mix_currency_code. Absent at channel level.

      - name: ad_spend
        description: >
          Media cost for this row. Books to the venue the media ran on, which is the row where
          is_spend_venue is true.

      - name: campaign_id
        description: >
          Campaign identifier as reported by the vendor.

      - name: campaign_name
        description: >
          Campaign name as reported by the vendor.

      - name: campaign_objective
        description: >
          The campaign objective where the vendor supplies one.

      - name: campaign_tactic
        description: >
          The campaign tactic where the vendor supplies one, such as prospecting or retargeting.

      - name: channel_group
        description: >
          The channel grouping the vendor assigned, such as Paid Social or Paid Search - Brand.

      - name: date
        description: >
          Business date of the measurement.

      - name: is_measurement_complete
        description: >
          True when this row has settled. The newest days are typically false: vendors resolve
          results on a lag and restate a rolling window, so recent figures move.

      - name: is_spend_venue
        description: >
          True where this row's sales venue is the one the media actually ran on. Use it to find the
          spend side of a channel whose revenue is spread across several venues.

      - name: last_click_conversions
        description: >
          Conversions attributed by last click. Absent at ad and ad group level.

      - name: last_click_revenue
        description: >
          Revenue attributed by last click. Absent at ad and ad group level.

      - name: market
        description: >
          The geographic market the vendor reported this row against.

      - name: measurement_grain_level
        description: >
          How finely the vendor resolved this row: ad, ad group, campaign, or channel level. Rows at
          different levels are disjoint segments, so summing across them is correct. Which metrics
          are populated depends on this column.

      - name: measurement_vendor
        description: >
          The media mix measurement provider that produced this row.

      - name: media_mix_currency_code
        description: >
          Currency that every money column on this row is denominated in.

      - name: media_mix_record_key
        description: >
          Stable identifier for this row. Use it to join measurements across refreshes.

      - name: media_mix_vendor_metadata
        description: >
          The vendor's own computed ratios, kept as the vendor reported them. These are provided for
          reconciliation against the vendor's interface and will not always equal the same ratio
          computed from the columns above, because vendors apply their own rounding and denominator
          choices. Prefer the ratio columns on rpt_media_mix_channel_daily for reporting.

      - name: media_platform
        description: >
          The advertising platform, normalized to SourceMedium's platform names. NULL for unpaid
          channels such as organic search, direct, and referral, which carry revenue but no spend.

      - name: media_source
        description: >
          The vendor's own name for the traffic source, kept unnormalized for reconciliation.

      - name: mmm_attributed_conversions
        description: >
          Conversions the model attributed to this row.

      - name: mmm_attributed_revenue
        description: >
          Revenue the model attributed to this row. This is modelled credit, not transacted revenue:
          it explains which media drove sales and does not sum with order revenue from obt_orders.

      - name: mmm_new_customer_conversions
        description: >
          Attributed conversions from customers making their first purchase. Absent at ad and ad
          group level.

      - name: mmm_new_customer_revenue
        description: >
          Attributed revenue from customers making their first purchase. Absent at ad and ad group
          level.

      - name: mmm_subscription_conversions
        description: >
          Attributed conversions that were subscription purchases.

      - name: mmm_subscription_revenue
        description: >
          Attributed revenue from subscription purchases.

      - name: sales_platform
        description: >
          Where the purchase happened, such as your website, Amazon, or TikTok Shop. NULL where the
          vendor did not report a venue; it is never guessed. This is the column that shows media
          driving sales on a venue other than the one it ran on.

      - name: vendor_last_completed_at
        description: >
          When the vendor last completed a full processing cycle covering this row.

      - name: vendor_last_processed_at
        description: >
          When the vendor last processed this row.

      - name: vendor_record_key
        description: >
          The vendor's own row identifier, for reconciling against their interface.

      - name: visits
        description: >
          Site visits the vendor attributed to this row.
```

<Info>
  Media mix figures are delivered in the currency shown by `media_mix_currency_code`. Where SourceMedium has enabled currency conversion for your workspace, that is your reporting currency; otherwise it is the currency your measurement vendor reports in. See [Reporting Currency](/docs/help-center/core-concepts/data-definitions/reporting-currency).
</Info>
