---
title: "Domo Station Data API"
canonical: "https://docs.pbs.org/space/DSDA/5341195/Domo%20Station%20Data%20API"
format: markdown
---
<span style="color: #172B4D">**The Domo Station Data API allows stations to connect raw production datasets with their local analytics directly from the Domo Business Intelligence Platform.**</span>

> Macro (toc)

## Overview

Domo is a Business Intelligence platform used by the PBS Business Intelligence team to store, transform, and visualize data. The Domo Station Data API allows stations to connect to raw production datasets with their local analytics directly from Domo. Using the API, stations can pull data provided by the PBS Business Intelligence team into their own data warehouse. Most data contained in these Domo datasets comes directly from Google Analytics, however, there is a smaller subset of data that is created from custom dimensions and look up sheets within Domo.

## Raw production datasets available through the API

The following datasets are available through the Domo Station Data API:

1. BQ_GA4_LearningMedia_PROD (Station)
2. BQ_GA4_GeneralAudience_PROD (Station)
3. BQ_GA4_PBSKIDS_PROD (Station)

## Using filters

### How to Filter Streaming Data 

1. Find the Event name column and choose mediastart. If you do not follow this step, your streams will be incorrectly doubled.
2. Group by the Date column. Aggregate sum of the Total Events column.


**Filtering Passport Streams (General Audience Only)**

1. <span style="color: #111111">In the </span><span style="color: #111111">Video Player</span><span style="color: #111111"> column, there are MVOD values. These MVOD values can be used to </span><span style="color: #111111">identify</span><span style="color: #111111"> Passport streams by filtering this column to include only values </span><span style="color: #111111">containing</span><span style="color: #111111"> “MVOD</span><span style="color: #111111">”.</span><span style="color: #111111"> Make sure you also filter to </span><span style="color: #111111">mediastart</span><span style="color: #111111"> </span><span style="color: #111111">in the Event </span><span style="color: #111111">name </span><span style="color: #111111">column or else your streams will be incorrectly doubled.</span><span style="color: #111111"> </span>

### How to Filter to User Data 

**Filtering to Daily Users (General Audience and PBS Kids Only)**

- Group by the Date column. Aggregate sum of the Daily Users column.

**Filtering Monthly Users (Learning Media, General Audience, and PBS Kids Only)**

1. Find the Segment – Monthly Users column and choose a segment. For a total number choose <span style="color: #111111">al</span><span style="color: #111111">l</span><span style="color: #111111">_users_station</span>. If you do not follow this step, your numbers will be inflated.
2. Group by the Date Column. Aggregate sum of Monthly Users column.


**Filtering Passport Users (General Audience Only)**

How to get to passport users

1. Find the Segment – Monthly Users column and choose a segment. For a total number choose <span style="color: #111111">al</span><span style="color: #111111">l</span><span style="color: #111111">_users_station</span>. Then in the Passport User column, select Y.
2. Group by the Date Column. Aggregate sum of Monthly Users column

## Best Practices

- Do not sum up daily users. Because Google Analytics aggregates monthly users with a static 30-day interval, avoid summing up daily users to ensure data will matches monthly users.

- Aggregate and average users on a monthly level. Users should be aggregated on a monthly level and averaged, not added together.

- Avoid doubling data. Access streaming data by selecting mediastart under the Event name column to avoid doubling your data.

- Do not inflate your data. Access monthly users by selecting a segment under the Segment – Monthly Users column. Even if you want total users, you still must select the segment that is for total users. Otherwise, your data will be inflated.

## Datasets

### BQ_GA4_LearningMedia_PROD (Station) 

Local LearningMedia digital audience data for stations.

| **Column Names** | **Definition ** | **Pulled from** | **Values** |
| --- | --- | --- | --- |
| City | City of User; Comes Directly from Google Analytics | Google Analytics | String |
| Date | Date Associated with Audience Data | Google Analytics | Includes event-level, daily, and monthly dates (Monthly roll-ups are represented by the first of a month with corresponding numbers in the Monthly Users column) |
| Event Category | Denotes if an asset is audio, video, or embedded video | Google Analytics | String |
| Event Label | Unparsed combination of Program Name and Video Name | Custom dimension from Domo | String |
| Event Name | The name of the event (i.e. mediastart, mediastop) | Google Analytics | String |
| Login Status | Denotes if a user is signed in with their PBS account or not | Google Analytics | String |
| Medium | How User Was Brought by Source to LearningMedia Page; Comes Directly from Google Analytics | Google Analytics | String |
| Metro | Metro of User; Comes Directly from Google Analytics | Google Analytics | String |
| Monthly Users | Number of Users Rolled up by Month (corresponded to the first of a month in the Date column) | Google Analytics | Integer |
| New Users | Number of Users That Are New to the Platform; Comes Directly from Google Analytics | Google Analytics | Integer |
| Page Path | URL Page User Landed On; Comes Directly from Google Analytics | Google Analytics | String |
| Page Title | Title of Page User Visited; Comes Directly from Google Analytics | Google Analytics | String |
| Page Views | Number of Page Views; Comes Directly from Google Analytics | Google Analytics | String |
| Region | Region of User | Google Analytics | String |
| Resource Collection | Collection of Resource Subjects | Google Analytics | String |
| Resource Media Type | LearningMedia Resource Type; Comes Directly from Google Analytics; Could be a self-paced lesson, a lesson plan, a document, an image, etc. | Google Analytics | String |
| Resource Subject | The School Subject of the LearningMedia Resource; Comes Directly from Google Analytics; Could be Engineering & Technology, English Language Arts & Literature, Social Studies, etc.; Subjects are commonly grouped together | Google Analytics | String |
| Returning Users | Number of Users That Are Returning to the Platform; Comes Directly from Google Analytics | Google Analytics | Integer |
| Segment | Breakdown of User Categories; Must Choose One to Filter to Monthly Data Correctly; Is a Custom Dimension | Google Analytics | String |
| Source | Source That Brought User to Page; Comes Directly from Google Analytics | Google Analytics | String |
| Station Localization | Station Call Letters (representing the audience localized to your station); Comes Directly from Google Analytics | Google Analytics | String |
| Stream ID | Google Analytics Platform ID; Comes Directly from Google Analytics | Google Analytics | Numerical ID |
| Stream Name | The name of the overall the streaming property (i.e. Learning Media) | Custom dimension from Domo | String |
| Stream Platform | Platform Users Used to View Content (i.e. Web) | Custom dimension from Domo | String |
| Total Events | The count of events (i.e. number of mediastarts) | Google Analytics | Integer |
| Traffic Medium | Denotes how traffic arrived at the Learning Media website | Google Analytics | String |
| Traffic Source | Denotes where visitors to the Learning Media website are coming from | Google Analytics | String |
| URL | URL of station logo | Custom dimension from Domo | String |
| Video Title | Name of video content, often the episode title of a show or the name of a clip | Google Analytics | String |

### BQ_GA4_GeneralAudience_PROD (Station)

Local General Audience digital data for stations.

| **Column Names** | **Definition ** | **Pulled from** | **Values** |
| --- | --- | --- | --- |
| Audiences | Identifies what type of audience is intended for a specific video (i.e. national vs. local) | Media Manager | String |
| City | City of User; Comes Directly from Google Analytics | Google Analytics | String |
| Daily Users | Number of Users for a Specific Date | Google Analytics | Integer |
| Date | Date Associated with Audience Data | Google Analytics | Includes event-level, daily, and monthly dates (Monthly roll-ups are represented by the first of a month with corresponding numbers in the Monthly Users column) |
| Device Category | The type of device: Desktop, Tablet, or Mobile. | Google Analytics | String |
| Event name | The name of the event (i.e. mediastart, mediastop) | Google Analytics | String |
| Joint Licensee? | Identifies if the program is for TV only |  | String |
| Licensee type | Identifies if the program is community based |  | String |
| Livestream Sessions | Number of Sessions with Livestream Viewing | Google Analytics | Integer |
| Livestream User | Identifies If User Viewed Content Through Livestream or Not | Google Analytics | String;   
Y = Livestream  
N = Not Livestream |
| Livestream Users | The Number of Livestream Users Rolled up by Month (corresponded to the first of a month in the Date column) | Google Analytics | Integer |
| Media Manager Content ID | Content ID from Media Manager | Media Manager | Alpha-Numerical ID |
| Metro | Metro of User; Comes Directly from Google Analytics | Google Analytics | String |
| MMG |  |  |  |
| Monthly Users | Number of Users Rolled up by Month (corresponded to the first of a month in the Date column) | Google Analytics | Integer |
| New Users | Number of Users That Are New to the Platform; Comes Directly from Google Analytics | Google Analytics | Integer |
| Operating System | The operating systems used by visitors to your app or website. Includes desktop and mobile operating systems such as Windows and Android. | Google Analytics | String |
| Originating Station | Station(s) Content Is Attributed to | Media Manager | String |
| OSBE |  |  |  |
| Passport User | Identifies If User Was Passport Member or Not | Google Analytics | String;   
Y = Passport User  
N = Not Passport User |
| Passport Users | The Number of Passport Users Rolled up by Month (corresponded to the first of a month in the Date column) | Google Analytics | Integer |
| Region | Region of User | Google Analytics | String |
| Segment | Breakdown of User Categories; Must Choose One to Filter to Monthly Data Correctly; Is a Custom Dimension | Google Analytics | String |
| Session Duration | Amount of Time User Spends Per Session on LearningMedia Site or Application; Comes Directly from Google Analytics | Google Analytics | Integer |
| Sessions | Group of User Interactions with General Audience website or Application within a Specific Timeframe; Comes Directly from Google Analytics | Google Analytics | Integer |
| Show Name | Content Program Name | Google Analytics | Integer |
| Show Title | Content Program Name | Google Analytics | Integer |
| Signed In Status | Identifies If User Was Logged In or Not During Their Session | Google Analytics | String;   
Y = Signed In  
N = Not Signed In |
| Station | Station Call Letters (representing the audience localized to your station) | Google Analytics | String |
| Station Localization | Station Call Letters (representing the audience localized to your station); Comes Directly from Google Analytics | Google Analytics | String |
| Stream ID | Google Analytics Platform ID; Comes Directly from Google Analytics | Google Analytics | Numerical ID |
| Stream Name | The name of the overall the streaming property (i.e. General Audience) | Custom dimension from Domo | String |
| Stream Platform | Platform Users Used to View Content (i.e. Web) | Custom dimension from Domo | String |
| Streaming Duration | The total number of seconds spent streaming a specific video | Google Analytics | Integer |
| Streaming Sessions | Number of Sessions with Streaming | Google Analytics | Integer |
| Streaming User | Identifies If User Streamed Content Not | Google Analytics | String;   
Y = Streamed  
N = Had session but didn't stream |
| Streaming Users | The Number of Streaming Users Rolled up by Month (corresponded to the first of a month in the Date column) | Google Analytics | Integer |
| Total Events | The count of events (i.e. number of mediastarts) | Google Analytics | Integer |
| Total Streams | The count of mediastarts (i.e. number of mediastarts) | Google Analytics | Integer |
| TP Media ID | Legacy ID from Media Manager | Google Analytics | Numerical ID |
| URL | URL of station logo | Custom dimension from Domo | String |
| Video Player | Category of Content User Interacted with (identifies video experience/player); Comes Directly from Google Analytics | Google Analytics | String;  
  
For browser-based video players, please note:  
  
Video - National Portal = streams that occur on the video pages on [PBS.org](http://PBS.org) (does not include streams in the embeddable player on show sites)  
  
Video - Local Portal = streams that occur on local station video portals  
  
Video - Partner Player = browser-based player that video publishers can embed on their site  
  
Video - Viral Player = browser-based player that public users can share on blogs or other sites |
| Video Title | Name of video content, often the episode title of a show or the name of a clip | Google Analytics | String |
| Video Type | Type of Video Content | Google Analytics | Clip vs episode video content |

### BQ_GA4_PBSKIDS_PROD (Station) 

Local KIDS digital data for stations.

| **Column Names** | **Definition ** | **Pulled from** | **Values** |
| --- | --- | --- | --- |
| Audiences | Identifies what type of audience is intended for a specific video (i.e. national vs. local) | Media Manager | String |
| City | City of User; Comes Directly from Google Analytics | Google Analytics | String |
| Daily Users | Number of Users for a Specific Date | Google Analytics | Integer |
| Date | Date Associated with Audience Data | Google Analytics | Includes event-level, daily, and monthly dates (Monthly roll-ups are represented by the first of a month with corresponding numbers in the Monthly Users column) |
| Device Category | The type of device: Desktop, Tablet, or Mobile. | Google Analytics | String |
| Event Name | The name of the event (i.e. mediastart, mediastop) | Google Analytics | String |
| Joint Licensee? | Identifies if the program is for TV only |  | String |
| Licensee type | Identifies if the program is community based |  | String |
| Livestream Sessions | Number of Sessions with Livestream Viewing | Google Analytics | Integer |
| Livestream User | Identifies If User Viewed Content Through Livestream or Not | Google Analytics | String;   
Y = Livestream  
N = Not Livestream |
| Livestream Users | The Number of Livestream Users Rolled up by Month (corresponded to the first of a month in the Date column) | Google Analytics | Integer |
| Media Manager Content ID | Content ID from Media Manager | Media Manager | Alpha-Numerical ID |
| Metro | Metro of User; Comes Directly from Google Analytics | Google Analytics | String |
| MMG |  |  |  |
| Monthly Users | Number of Users Rolled up by Month (corresponded to the first of a month in the Date column) | Google Analytics | Integer |
| New Users | Number of Users That Are New to the Platform; Comes Directly from Google Analytics | Google Analytics | Integer |
| Operating System | The operating systems used by visitors to your app or website. Includes desktop and mobile operating systems such as Windows and Android | Google Analytics | String |
| Originating Station | Station(s) Content Is Attributed to | Media Manager | String |
| OSBE |  |  |  |
| Podcast List | Custom podcast list from Domo, not advised to use | Custom dimension from Domo | String |
| Program List | Custom program list from Domo, not advised to use | Custom dimension from Domo | String |
| Region | Region of User | Google Analytics | String |
| Segment | Breakdown of User Categories; Must Choose One to Filter to Monthly Data Correctly; Is a Custom Dimension | Google Analytics | String |
| Session Duration | Amount of Time User Spends Per Session on PBS KIDS Site or Application; Comes Directly from Google Analytics | Google Analytics | Integer |
| Sessions | Group of User Interactions with PBS KIDS website or Application within a Specific Timeframe; Comes Directly from Google Analytics | Google Analytics | Integer |
| Show Name | Content Program Name | Google Analytics | Integer |
| Show Title | Content Program Name | Google Analytics | Integer |
| Station | Station Call Letters (representing the audience localized to your station) | Google Analytics | String |
| Station Localization | Station Call Letters (representing the audience localized to your station); Comes Directly from Google Analytics | Google Analytics | String |
| Stream ID | Google Analytics Platform ID; Comes Directly from Google Analytics | Google Analytics | Numerical ID |
| Stream Name | The name of the overall the streaming property (i.e. Learning Media) | Custom dimension from Domo | String |
| Stream Platform | Platform Users Used to View Content (i.e. Web) | Custom dimension from Domo | String |
| Streaming Duration | The total number of seconds spent streaming a specific video | Google Analytics | Integer |
| Streaming Sessions | Number of Sessions with Streaming | Google Analytics | Integer |
| Streaming User | Identifies If User Streamed Content Not | Google Analytics | String;   
Y = Streamed  
N = Had session but didn't stream |
| Streaming Users | The Number of Streaming Users Rolled up by Month (corresponded to the first of a month in the Date column) | Google Analytics | Integer |
| Total Events | The count of events (i.e. number of mediastarts) | Google Analytics | Integer |
| Total Streams | The count of mediastarts (i.e. number of mediastarts) | Google Analytics | Integer |
| TP Media ID | Legacy ID from Media Manager | Google Analytics | Numerical ID |
| URL | URL of station logo | Custom dimension from Domo | String |
| Video Player | Category of Content User Interacted with (identifies video experience/player); Comes Directly from Google Analytics | Google Analytics | String |
| Video Title | Name of video content, often the episode title of a show or the name of a clip | Google Analytics | String |
| Video Type | Type of Video Content | Google Analytics | Clip vs episode video content |

## FAQ

<details>
<summary>What are the raw production datasets available through the API?</summary>

1. BQ_GA4_LearningMedia_PROD (Station)
2. BQ_GA4_GeneralAudience_PROD (Station)
3. BQ_GA4_PBSKIDS_PROD (Station)
</details>

<details>
<summary>Where does this data originally come from?</summary>

Most data contained in these Domo datasets comes directly from Google Analytics. However, there is a smaller subset of data that is created from custom dimensions and look up sheets within Domo.
</details>