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.
Granting Permissions via IAM:
Go to the IAM & Admin section in their Google Cloud Console.
Click "Add" at the top of the IAM page.
Enter service account email (data-retriever@billy-grace.iam.gserviceaccount.com)
Assign appropriate roles that your service account needs to access the required resources (e.g., Viewer, Storage Object Viewer, etc.).
Click "Save".
Granting Permissions on Specific Resources:
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).
For example, to grant access to a Cloud Storage bucket:
Go to the Cloud Storage section in the Google Cloud Console.
Select the bucket.
Click on "Permissions".
Click "Add" and enter your service account email (data-retriever@billy-grace.iam.gserviceaccount.com).
Assign the necessary roles (e.g., Storage Object Viewer).
Click "Save".
After completing this step, please navigate to Settings -> Import Custom Data and complete the form to activate your export.
How to connect via SFTP?
Navigate to Settings -> Import Custom Data. Here, you'll find personalized credentials, including a host, username, and password.
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.
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'.