Product catalog for location data providers
This guide defines the product catalog taxonomy and integration requirements for location data providers. Location data providers include organizations that track visits to physical locations, such as restaurant chains measuring foot traffic across locations, hotel brands tracking visits to individual properties, car dealerships, car rental companies, and rideshare services tracking pickup and drop-off locations.
By building on the core product catalog workflow, this guide explains how to structure your category and location taxonomy and configure support for location-based events, such as store visits and foot traffic.
Benefits include the following:
- A single tracking tag for both daily visits and weekly visits
- More frequent brand-level optimization signals
- Granular location-level measurement
- Compliance with The Trade Desk legal requirements
The following sections explain the legal requirements behind this model, compare the two event types, show how to build your category and location taxonomy, and answer FAQs.
Restrictions on location data
IMPORTANT: Do not send the combination of user ID + exact time + exact location in the same record.
The Trade Desk does not accept records that contain a user ID + exact time + exact location combination. Even if the user ID is anonymous, this combination can identify an individual and is considered personally identifiable information (PII). Make sure at least one of these elements is always obscured or removed.
The following table uses Northstar Restaurant at 123 Main St. as an example of permitted and prohibited location data combinations.
| Data combination | Example | Permitted? |
|---|---|---|
| User + brand + day and/or time | We know a user visited a Northstar Restaurant on Tuesday, but not which location. The location is obscured. | Permitted |
| User + specific location + Week | We know a user visited the 123 Main St. Northstar Restaurant during a given week, but not the specific day or time. The timestamp is obscured. | Permitted |
| User + specific location + specific day and/or time | We know a user visited the Northstar Restaurant at 123 Main St. at a specific date and time. This creates the combination of user ID + exact time + exact location. | Prohibited |
Event types: daily and weekly visits
Depending on what your infrastructure and legal review support, you can capture daily visits, weekly visits, or both. The following table highlights the key differences between the two event types, including their use cases, data granularity, reporting cadence, and privacy protections. Because both event types use the same tag in an advertiser campaign, advertisers don't need different campaign configurations to support them.
| Attribute | Daily visits | Weekly visits |
|---|---|---|
| Purpose | Daily signal for campaign optimization. | Granular store-level measurement for insights. |
| Granularity | Brand or geographic group level. | Individual store or location level. |
| Cadence | Sent every day. | Sent once each week (for example, every Monday for the previous week). |
| Legal mechanism | Location is obfuscated. Each SKU or item ID represents a minimum of three locations (never a single location). | Timestamp is blurred. Weekly aggregation only, no day- or time-of-day granularity. Each SKU or item ID represents a single location. |
| Tracking tag | Same tag on advertiser campaign. | Same tag on advertiser campaign. |
| Event type | Daily Visits |
Weekly Visits |
Step 1: Build your taxonomy for location data
In most cases, before creating a product catalog, you'll need to create a custom taxonomy for the locations you manage. When building your taxonomy, follow these guidelines:
- Decide how you want to categorize your locations, including which businesses need their own category and how granular each one should be. Well-defined categories make the catalog easier to manage, maintain, and activate. See the following table for common category breakdowns by industry.
- If you support both event types, create two subcatalogs: a brand- or geographic group-level catalog for daily visits and a store-level catalog for weekly visits.
- To optimize targeting and measurement, be sure to use categories consistently across both daily visit and weekly visit catalogs for the same brand. For example, if a location is tagged
QSRin your store-level weekly visits records, it should also be categorized asQSRin your brand-level daily visits records. - For general guidance on building a taxonomy, see Build custom taxonomy.
Upload the required categories using the PUT /ecommerce/category/batch endpoint. The following table shows common category breakdowns by industry.
| Business | Categories |
|---|---|
| Food and Beverage |
|
| Commerce |
|
| Auto |
|
| Health and Fitness |
|
| Entertainment and Leisure | Movie theater |
The following is an example request body for the PUT /ecommerce/category/batch endpoint showing parent and child categories:
{
"MerchantId": "MERCHANT_ID_PLACEHOLDER",
"Categories": [
{
"CategoryId": "FNB",
"CategoryName": "Food and Beverage"
},
{
"CategoryId": "QSR",
"CategoryName": "Quick Service Restaurant",
"ParentCategories": ["FNB"]
},
{
"CategoryId": "COFFEE",
"CategoryName": "Coffee/Cafe",
"ParentCategories": ["FNB"]
},
{
"CategoryId": "COMM",
"CategoryName": "Commerce"
},
{
"CategoryId": "MASS-RETAIL",
"CategoryName": "Mass Retail",
"ParentCategories": ["COMM"]
}
]
}
The following diagram shows the category hierarchy based on the parent-child relationships defined in the example request body.
Step 2: Upload product data
To upload location data, follow the Commerce Solutions API steps in the standard product catalog workflow, along with the location-specific requirements described in this section. The following field reference explains how standard product catalog fields map to location data. To configure the event types you support, see the Daily visits and Weekly visits sections.
The example below shows how to represent weekly-visit location data using standard product catalog fields, where each store is treated as the "product":
{
"MerchantId": "MERCHANT_ID_PLACEHOLDER",
"Products": [
{
"SkuId": "nsm-loc-90210-001",
"ProductName": "Northstar Restaurant #12045",
"CategoryId": "QSR",
"BrandName": "Northstar Restaurant",
"Description": "123 Main St., Anytown, CA 90210",
"Availability": "Open"
},
{
"SkuId": "nsm-loc-90211-002",
"ProductName": "Northstar Restaurant #12046",
"CategoryId": "QSR",
"BrandName": "Northstar Restaurant",
"Description": "456 Oak Ave, Sometown, CA 90211"
},
{
"SkuId": "hcc-loc-90210-001",
"ProductName": "Harbor Coffee Co. #12324",
"CategoryId": "COFFEE",
"BrandName": "Harbor Coffee Co.",
"Description": "124 Main St., Anytown, CA 90210"
}
]
}
The Availability field is optional. If not needed, you can omit it from the payload, as shown in the example.
Field reference
When uploading your catalog, use location-specific values for the fields listed in the following table. The table shows the required fields for daily visits and weekly visits. Because SKU and item IDs are used differently for each event type, see the Daily visits and Weekly visits sections for implementation details.
Fields not listed are optional and can be omitted. For information on standard product catalog fields, see Upload product catalog data.
| Catalog field | Location concept | Daily visits usage | Weekly visits usage |
|---|---|---|---|
ProductName |
Brand name, store name, or geographic group | Human-readable brand or group label (for example, Northstar Restaurant - US, Northstar Restaurant - LA Metro) |
Individual store name with ID number (for example, Northstar Restaurant #12045) |
SkuId |
Location or group ID | Unique ID for the brand or geographic group (for example, northstar-market-us, northstar-market-la-metro) |
Unique ID for the individual store location (for example, nsm-loc-90210-001) |
BrandName |
Brand the location belongs to | Brand name, consistent across all group-level entries (for example, Northstar Restaurant) |
Brand name, consistent across all store-level entries (for example, Northstar Restaurant) |
Description |
Location description | Geographic scope of the group (for example, All Northstar Restaurant locations in the United States) |
Full street address of the individual store (for example, 123 Main St., Anytown, CA 90210) |
CategoryId |
Venue or point of interest (POI) category | Industry category (for example, Quick Service Restaurant, Grocery, Auto Dealership) |
Same as daily visits; use a consistent category at the store level |
Daily visits
The daily visits event gives advertisers a daily visit signal at the brand or geographic-group level. Each SKU or item ID in this catalog represents a minimum of three locations (never a single store), ensuring the specific location a user visited is never exposed.
SKU or item ID naming convention
For daily visits, use a consistent lowercase kebab-case format for values in the SkuId field that identifies both the brand and geographic scope (for example, northstar-market-la-dma).
Requirements
You can define geographic groups to fit your business, but each SKU or item ID must represent at least three locations. The Trade Desk recommends organizing your taxonomy from the broadest geographic level to the most granular, using the following tiers as a starting point.
IMPORTANT: A daily visits SKU or item ID must never map to a single store. If a postal code or city has only one location, roll up to the next geographic tier (for example, metro or DMA level) to keep the specific location blurred.
| Tier | Scope | SkuId example | Item name example |
|---|---|---|---|
| 1 | National (all locations in a country) | northstar-market-us |
Northstar Restaurant — US |
| 2 | Region | northstar-market-west |
Northstar Restaurant — West |
| 3 | State | northstar-market-california |
Northstar Restaurant — California |
| 4 | DMA/metro area | northstar-market-la-dma |
Northstar Restaurant — Los Angeles DMA |
| 5 | City/MSA | northstar-market-beverly-hills |
Northstar Restaurant — Beverly Hills |
| 6 | Postal code cluster (3+ locations) | northstar-market-90210-cluster |
Northstar Restaurant — 90210 Area |
Catalog structure
Build your daily visits catalog by uploading one object per brand or geographic group, using the tiers you had defined. The following example shows how Northstar Restaurant, Harbor Coffee Co., and Summit General structure their group-level entries.
| SkuId | ProductName | CategoryId | BrandName | Description |
|---|---|---|---|---|
northstar-market-us |
Northstar Restaurant — US |
QSR |
Northstar Restaurant |
All Northstar Restaurant locations in the United States |
northstar-market-la-dma |
Northstar Restaurant — Los Angeles DMA |
QSR |
Northstar Restaurant |
Northstar Restaurant locations in the Los Angeles DMA |
northstar-market-chicago-dma |
Northstar Restaurant — Chicago DMA |
QSR |
Northstar Restaurant |
Northstar Restaurant locations in the Chicago metro area |
harbor-coffee-co-us |
Harbor Coffee Co. — US |
COFFEE |
Harbor Coffee Co. |
All Harbor Coffee Co. locations in the United States |
harbor-coffee-co-nyc-dma |
Harbor Coffee Co. — New York City DMA |
COFFEE |
Harbor Coffee Co. |
Harbor Coffee Co. locations in the New York City metro area |
summit-general-us |
Summit General — US |
MASS-RETAIL |
Summit General |
All Summit General locations in the United States |
The category IDs follow the parent-child structure defined in Build your taxonomy for location data.
Conversion events
To send daily-visit conversion event data to The Trade Desk, be sure to follow these requirements.
| Requirement | Specification |
|---|---|
| Event type | Must be exactly Daily Visits (no trailing spaces). |
| Cadence | Daily. Events for day "D" should be delivered no later than end of day "D+1." |
| Granularity | Brand/group level only. The SKU or item ID in each conversion event must correspond to a group-level catalog entry (tier 1–4). |
| Timestamp | Day-level precision is acceptable (for example, 2026-04-28). Do not include the hour or minute; this is the event delivery timestamp, not the visit time. |
| Prohibited data | Individual store-level SKU or item ID values must not be used in daily visits events. Only group-level IDs (tier 1–4) are allowed. |
Weekly visits
The weekly visits event provides granular, store-level visit data on a weekly cadence. Each SKU or item ID represents an individual store location, enabling advertisers to measure specific subsets of locations and analyze store-level details.
SKU or item ID naming convention
To uniquely identify stores and manage the product catalog more efficiently, encode enough information in the SKU or item ID values for weekly visits (for example, nsm-loc-90210-001 where "nsm" is the Northstar Restaurant store brand name and "loc" is the location).
Requirements
Each record in the weekly visits catalog must represent exactly one physical store location. The following fields are critical:
SkuIdmust be globally unique within your catalog. No two stores can share an ID.Descriptionmust include the full street address for human readability and in-platform display.Availabilitymust be updated promptly when a location opens or permanently closes.
Catalog structure
Build your weekly visits catalog by uploading one object per store. The following example shows how Northstar Restaurant, Harbor Coffee Co., and Summit General structure their store-level entries.
| SkuId | ProductName | CategoryId | BrandName | Description |
|---|---|---|---|---|
nsm-loc-90210-001 |
Northstar Restaurant #12045 |
QSR |
Northstar Restaurant |
123 Main St., Anytown, CA 90210 |
nsm-loc-90211-002 |
Northstar Restaurant #12046 |
QSR |
Northstar Restaurant |
456 Oak Ave, Sometown, CA 90211 |
nsm-loc-60601-003 |
Northstar Restaurant #30891 |
QSR |
Northstar Restaurant |
789 State St., Chicago, IL 60601 |
hcc-loc-90210-001 |
Harbor Coffee Co. #12324 |
COFFEE |
Harbor Coffee Co. |
124 Main St., Anytown, CA 90210 |
smg-loc-60614-001 |
Summit General S-2483 |
MASS-RETAIL |
Summit General |
900 N Michigan Ave, Chicago, IL 60614 |
Conversion events
To send weekly-visit conversion event data to The Trade Desk, be sure to follow these requirements.
| Requirement | Specification |
|---|---|
| Event type | Must be exactly Weekly Visits (no trailing spaces). |
| Cadence | Weekly. Recommended delivery: every Monday for the previous full week (Monday to Sunday). Data must be submitted within 72 hours after the end of the week. |
| Granularity | Individual store level. Each SKU or item ID must correspond to a single store or location catalog entry. |
| Aggregation | Data must be aggregated to the full week. No day-level, hour-level, or time-of-day granularity is allowed. A single visit count per store each week is required. |
| Timestamp | Use the week-start date (for example, 2026-08-17 for the week of August 17, 2026). Do not include the hour or minute; this is the event delivery timestamp, not the visit time. |
| Prohibited data | Do not include day-level or time-of-day visit data. For example, daily breakdowns, visit times, and dwell durations are not allowed. |
Next steps
After uploading your location data, select the type of event data you plan to send with location data:
- Offline Conversion Events API
- Conversion events: Real-Time Conversion Events API quickstart
NOTE: Other event data integration options exist. For details, contact your Technical Account Manager.
FAQs
The following is a list of frequently asked questions about integrating location data with your product catalog.
Can advertisers tell daily visits and weekly visits apart in their reporting?
Yes. Both events share the same advertiser-facing tag, but the event type (Daily Visits or Weekly Visits) tells advertisers which granularity and cadence they're looking at.
Do I have to support both event types?
No. You can implement daily visits only, weekly visits only, or both, depending on what your infrastructure and legal review support. Most location data providers start with daily visits and add weekly visits once store-level aggregation is in place.
What happens if a daily visits SKU or item ID ends up representing fewer than three locations (for example, a chain closes locations in a cluster)?
Re-assign that group up to the next geographic tier so it represents three or more locations again, and update the product catalog accordingly. Do not leave a daily visits SKU or item ID mapped to fewer than three locations.