Skip to main content
All CollectionsIntegrationsCustom Data Import
Custom Import - Custom Media Data
Custom Import - Custom Media Data

Learn how to import your own TV, radio or other custom media data

Lily Mineur avatar
Written by Lily Mineur
Updated over a week ago

In this guide, we will guide you through the steps to connect your custom media data to Billy Grace. By syncing your media with Billy Grace, we will be able to provide you with:

  • insight into metrics such as (Blended) ROAS;

  • Incorporate it into our Multi-Touch Attribution and adding it to Paid Performance; (if you send a correct bg_source parameter!)

  • Model the effect of impressions on other channels in the Unified Marketing Measurement attribution model;

An example of media data can be TV advertising, radio advertising, DOOH or any custom-made display network solution.

Importing custom media data is not available in all pricing plans. Please contact your Customer Success Manager for more information.

There are two main ways of sending us custom media data:

  • SFTP: you can share a daily .csv or parquet file with the orders.

  • BigQuery: you can share access to a BigQuery table, from which we will import the data.

It is essential that the data you share has the correct schema, so that we will be able to ingest it correctly:

If you share data with an incorrect schema with us, we will not be able to ingest it into your dashboard.

The schema we expect is listed below. Next to this, it is important that the media data is available for ingestion at the correct time. Data should reach us before 02:00 AM (containing the statistics of the day before).

For example: a file containing media data for the 29th of July needs to reach us before 02:00 AM on the 30th of July. If you fail to do this, there might be up to a week lag before you see correct attribution for this channel.

More information on the specific schema we expect and how to connect the different methods is given below.

Schema

The schema of the data we expect is listed below:

Field Name

Data Type

Description

Required

source

String

Name of the channel you are connecting

Yes

date

String

Date in format YYYY-MM-DD.

Yes

clicks

bigint

Clicks

No

impressions

bigint

Impressions or GRP's

Yes

spend

float

Spend

Yes

campaign_name

String

String containing the campaign name

Yes

adset_name

string

String containing the adset name

No

ad_name

string

String containing the ad name

No

campaign_id

string/int

The ID of the campaign (add random if no ID is available)

Yes

adset_id

string/int

The ID of the adset

No

ad_id

string/int

The ID of the ad

No

bg_source

string

String. The value you will send in bg_source= as parameter (i.e. bg_source=my_channel)

Yes when you want MTA results otherwise optional

Considerations

  • The fields campaign, adset and ad are used as hierarchy in the reports in Billy Grace. They can also be used for other items. I.e. if you are sharing radio data, you fill them with other data that indicates the hierarchy in your advertising. (see example below)

  • Campaign_id and campaign_name need to be filled. If you leave adset and ad fields empty, we will assign them with the values of the higher hierarchy.

  • If you are sharing TV or radio data, please input GRPs or similar into the impression's column.

  • We expect ad_id to be unique and not shared among campaigns. Please contact us when that is not the case.

If you want MTA to include attribution for the channel, you need to send the bg_source and bg_source_id parameters. Example on how to send them:

  • bg_source= {value_from_bg_source_column} - needs to be the same for all ads

  • bg_source_id={value_from_ad_id_column}

Example of hierarchy when sharing radio data with Billy Grace.
source = radio

campaign_name = 538

This will show in Billy Grace like this:

Another example of Display advertising with multiple levels and a UTM:

In the above screenshots, the import table columns are:

Source = display

Campaign_name = campaign-name

Adset_name = adset-name

etc.

Example utm: bg_source=display&bg_source_id={ad_id}

How to connect via BigQuery?

Follow these steps to share the specific table with schema from above.

  1. Granting Permissions via IAM:

    1. Go to the IAM & Admin section in their Google Cloud Console.

    2. Click "Add" at the top of the IAM page.

    3. Assign appropriate roles that your service account needs to access the required resources (e.g., Viewer, Storage Object Viewer, etc.).

    4. Click "Save".

  2. Granting Permissions on Specific Resources:

    1. If the service account needs access to specific resources, please grant permissions at the resource level (e.g., on a particular Cloud Storage bucket or BigQuery dataset).

    2. For example, to grant access to a Cloud Storage bucket:

      1. Go to the Cloud Storage section in the Google Cloud Console.

      2. Select the bucket.

      3. Click on "Permissions".

      4. Click "Add" and enter your service account email (data-retriever@billy-grace.iam.gserviceaccount.com).

      5. Assign the necessary roles (e.g., Storage Object Viewer).

    3. Click "Save".

  3. After completing this step, please navigate to Settings -> Import Custom Data and complete the form to activate your export.

How to connect via SFTP?

  1. Navigate to Settings -> Import Custom Data. Here, you'll find personalized credentials, including a host, username, and password.

  2. You're required to establish a daily file dump on your own, ensuring that a CSV or Parquet file, following the previously mentioned schema, is sent to us daily at the designated time.

  3. Once set up, please create an export on the same page where you obtained your credentials by completing the form that appears when you click on 'Add Custom Import'.

Did this answer your question?