{
  "id": "campaign_product_targeting",
  "title": "Campaign product tag and domain targeting",
  "aliases": ["campaign product targeting", "domain whitelist campaign"],
  "description": "Campaigns joined to product tags with extracted domain_lists include/exclude list ids (never full targeting JSON).",
  "sourceSystem": "mngt",
  "schemaTables": [
    "Admin.campaign",
    "Admin.campaign_product_type_mapping",
    "Admin.traffic_channels",
    "Admin.campaign_targeting"
  ],
  "tools": ["list_campaigns_by_product_tag", "search_campaigns_by_domain_targeting"],
  "statusFields": [
    {
      "field": "Admin.campaign.status",
      "description": "Campaign lifecycle status.",
      "values": [
        {
          "value": "unknown",
          "meaning": "Confirm char codes with AdOps before documenting as confirmed.",
          "confirmed": false
        }
      ]
    }
  ],
  "fieldAllowlist": [
    "campaign_id",
    "adv_id",
    "advertiser_name",
    "campaign_name",
    "status",
    "approved",
    "prod_type",
    "traffic_id",
    "traffic_name",
    "list_id",
    "list_name",
    "domain",
    "list_mode"
  ],
  "fieldDeny": [
    "json",
    "include_list_ids",
    "exclude_list_ids",
    "pixel",
    "pixel_conv",
    "linktrust_pixel"
  ],
  "reviewStatus": "draft",
  "refs": [
    "https://admedia-jira.atlassian.net/browse/TW-309",
    "catalogs/queries/mngt-ro-views-staging.sql"
  ],
  "notes": [
    "View extracts domain_lists.include / exclude as JSON arrays for JSON_CONTAINS joins.",
    "MCP responses must not return raw include_list_ids / exclude_list_ids or targeting.json."
  ]
}
