The StarThinker project will no longer receive new solution contributions from the Google team.
Please read the full StarThinker Open Source Support Ends At Google article for more details.



All

donut_large DV360 Data Warehouse

Deploy a BigQuery dataset mirroring DV360 account structure. Foundation for solutions on top.



lock_openGet Access listGit Hub sourcePython menu_bookColab airAirflow



Impact Level

Spend Optimization
Spend Growth
Time Savings
Account Health
Csat Improvement

Value Proposition

Mirror all DV360 account configuration in BigQuery.
Attach any number of dashboards, views, or automations on top.
Whatever access the user or service has, thats whats in the warehouse.
Updates on whatever schedule you set.

Instructions

Wait for BigQuery->->->... to be created.
Every table mimics the DV360 API Endpoints.

Details

Open Source YES
Age March 22, 2021 (1 year, 9 months)
Authors kenjora@google.com
Shedule Days Configured by user.
Shedule Hours Configured by user.
[
    {
        "dataset": {
            "description": "Create a dataset for bigquery tables.",
            "auth": {
                "field": {
                    "name": "auth_bigquery",
                    "kind": "authentication",
                    "order": 1,
                    "default": "service",
                    "description": "Credentials used for writing data."
                }
            },
            "dataset": {
                "field": {
                    "name": "recipe_slug",
                    "kind": "string",
                    "description": "Place where tables will be created in BigQuery."
                }
            }
        }
    },
    {
        "google_api": {
            "auth": {
                "field": {
                    "name": "auth_dv",
                    "kind": "authentication",
                    "order": 1,
                    "default": "service",
                    "description": "Credentials used for reading data."
                }
            },
            "api": "displayvideo",
            "version": "v1",
            "function": "partners.get",
            "kwargs_remote": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 1,
                            "default": "service",
                            "description": "Credentials used for writing data."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "description": "Place where tables will be created in BigQuery."
                        }
                    },
                    "legacy": false,
                    "query": "SELECT CAST(partnerId AS STRING) partnerId FROM (SELECT DISTINCT * FROM UNNEST({partners}) AS partnerId)",
                    "parameters": {
                        "partners": {
                            "field": {
                                "name": "partners",
                                "kind": "integer_list",
                                "order": 4,
                                "default": [],
                                "description": "List of account ids to pull."
                            }
                        }
                    }
                }
            },
            "iterate": false,
            "results": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 1,
                            "default": "service",
                            "description": "Credentials used for writing data."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "order": 4,
                            "default": "",
                            "description": "Name of Google BigQuery dataset to create."
                        }
                    },
                    "table": "DV360_Partners"
                }
            }
        }
    },
    {
        "google_api": {
            "auth": {
                "field": {
                    "name": "auth_dv",
                    "kind": "authentication",
                    "order": 1,
                    "default": "service",
                    "description": "Credentials used for reading data."
                }
            },
            "api": "displayvideo",
            "version": "v1",
            "function": "advertisers.list",
            "kwargs_remote": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 3,
                            "default": "service",
                            "description": "Credentials to use for BigQuery reads and writes."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "order": 0,
                            "default": "",
                            "description": "Google BigQuery dataset to create tables in."
                        }
                    },
                    "query": "SELECT DISTINCT CAST(partnerId  AS STRING) partnerId FROM `DV360_Partners`",
                    "legacy": false
                }
            },
            "iterate": true,
            "results": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 1,
                            "default": "service",
                            "description": "Credentials used for writing data."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "order": 4,
                            "default": "",
                            "description": "Name of Google BigQuery dataset to create."
                        }
                    },
                    "table": "DV360_Advertisers"
                }
            }
        }
    },
    {
        "google_api": {
            "auth": {
                "field": {
                    "name": "auth_dv",
                    "kind": "authentication",
                    "order": 1,
                    "default": "service",
                    "description": "Credentials used for reading data."
                }
            },
            "api": "displayvideo",
            "version": "v1",
            "function": "advertisers.insertionOrders.list",
            "kwargs_remote": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 3,
                            "default": "service",
                            "description": "Credentials to use for BigQuery reads and writes."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "order": 0,
                            "default": "",
                            "description": "Google BigQuery dataset to create tables in."
                        }
                    },
                    "query": "SELECT DISTINCT CAST(advertiserId AS STRING) AS advertiserId FROM `DV360_Advertisers`",
                    "legacy": false
                }
            },
            "iterate": true,
            "results": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 1,
                            "default": "service",
                            "description": "Credentials used for writing data."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "order": 4,
                            "default": "",
                            "description": "Name of Google BigQuery dataset to create."
                        }
                    },
                    "table": "DV360_InsertionOrders"
                }
            }
        }
    },
    {
        "google_api": {
            "auth": {
                "field": {
                    "name": "auth_dv",
                    "kind": "authentication",
                    "order": 1,
                    "default": "service",
                    "description": "Credentials used for reading data."
                }
            },
            "api": "displayvideo",
            "version": "v1",
            "function": "advertisers.lineItems.list",
            "kwargs_remote": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 3,
                            "default": "service",
                            "description": "Credentials to use for BigQuery reads and writes."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "order": 0,
                            "default": "",
                            "description": "Google BigQuery dataset to create tables in."
                        }
                    },
                    "query": "SELECT DISTINCT CAST(advertiserId AS STRING) AS advertiserId FROM `DV360_Advertisers`",
                    "legacy": false
                }
            },
            "iterate": true,
            "results": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 1,
                            "default": "service",
                            "description": "Credentials used for writing data."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "order": 4,
                            "default": "",
                            "description": "Name of Google BigQuery dataset to create."
                        }
                    },
                    "table": "DV360_LineItems"
                }
            }
        }
    },
    {
        "google_api": {
            "auth": {
                "field": {
                    "name": "auth_dv",
                    "kind": "authentication",
                    "order": 1,
                    "default": "service",
                    "description": "Credentials used for reading data."
                }
            },
            "api": "displayvideo",
            "version": "v1",
            "function": "advertisers.campaigns.list",
            "kwargs_remote": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 3,
                            "default": "service",
                            "description": "Credentials to use for BigQuery reads and writes."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "order": 0,
                            "default": "",
                            "description": "Google BigQuery dataset to create tables in."
                        }
                    },
                    "query": "SELECT DISTINCT CAST(advertiserId AS STRING) AS advertiserId FROM `DV360_Advertisers`",
                    "legacy": false
                }
            },
            "iterate": true,
            "results": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 1,
                            "default": "service",
                            "description": "Credentials used for writing data."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "order": 4,
                            "default": "",
                            "description": "Name of Google BigQuery dataset to create."
                        }
                    },
                    "table": "DV360_Campaigns"
                }
            }
        }
    },
    {
        "google_api": {
            "auth": {
                "field": {
                    "name": "auth_dv",
                    "kind": "authentication",
                    "order": 1,
                    "default": "service",
                    "description": "Credentials used for reading data."
                }
            },
            "api": "displayvideo",
            "version": "v1",
            "function": "advertisers.channels.list",
            "kwargs_remote": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 3,
                            "default": "service",
                            "description": "Credentials to use for BigQuery reads and writes."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "order": 0,
                            "default": "",
                            "description": "Google BigQuery dataset to create tables in."
                        }
                    },
                    "query": "SELECT DISTINCT CAST(advertiserId AS STRING) AS advertiserId FROM `DV360_Advertisers`",
                    "legacy": false
                }
            },
            "iterate": true,
            "results": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 1,
                            "default": "service",
                            "description": "Credentials used for writing data."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "order": 4,
                            "default": "",
                            "description": "Name of Google BigQuery dataset to create."
                        }
                    },
                    "table": "DV360_Channels"
                }
            }
        }
    },
    {
        "google_api": {
            "auth": {
                "field": {
                    "name": "auth_dv",
                    "kind": "authentication",
                    "order": 1,
                    "default": "service",
                    "description": "Credentials used for reading data."
                }
            },
            "api": "displayvideo",
            "version": "v1",
            "function": "advertisers.creatives.list",
            "kwargs_remote": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 3,
                            "default": "service",
                            "description": "Credentials to use for BigQuery reads and writes."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "order": 0,
                            "default": "",
                            "description": "Google BigQuery dataset to create tables in."
                        }
                    },
                    "query": "SELECT DISTINCT CAST(advertiserId AS STRING) AS advertiserId FROM `DV360_Advertisers`",
                    "legacy": false
                }
            },
            "iterate": true,
            "results": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 1,
                            "default": "service",
                            "description": "Credentials used for writing data."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "order": 4,
                            "default": "",
                            "description": "Name of Google BigQuery dataset to create."
                        }
                    },
                    "table": "DV360_Creatives"
                }
            }
        }
    },
    {
        "google_api": {
            "auth": {
                "field": {
                    "name": "auth_dv",
                    "kind": "authentication",
                    "order": 1,
                    "default": "service",
                    "description": "Credentials used for reading data."
                }
            },
            "api": "displayvideo",
            "version": "v1",
            "function": "inventorySources.list",
            "kwargs_remote": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 3,
                            "default": "service",
                            "description": "Credentials to use for BigQuery reads and writes."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "order": 0,
                            "default": "",
                            "description": "Google BigQuery dataset to create tables in."
                        }
                    },
                    "query": "SELECT DISTINCT CAST(advertiserId AS STRING) AS advertiserId FROM `DV360_Advertisers`",
                    "legacy": false
                }
            },
            "iterate": true,
            "results": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 1,
                            "default": "service",
                            "description": "Credentials used for writing data."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "order": 4,
                            "default": "",
                            "description": "Name of Google BigQuery dataset to create."
                        }
                    },
                    "table": "DV360_Inventory_Sources"
                }
            }
        }
    },
    {
        "google_api": {
            "auth": {
                "field": {
                    "name": "auth_dv",
                    "kind": "authentication",
                    "order": 1,
                    "default": "service",
                    "description": "Credentials used for reading data."
                }
            },
            "api": "displayvideo",
            "version": "v1",
            "function": "googleAudiences.list",
            "kwargs_remote": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 3,
                            "default": "service",
                            "description": "Credentials to use for BigQuery reads and writes."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "order": 0,
                            "default": "",
                            "description": "Google BigQuery dataset to create tables in."
                        }
                    },
                    "query": "SELECT DISTINCT CAST(advertiserId AS STRING) AS advertiserId FROM `DV360_Advertisers`",
                    "legacy": false
                }
            },
            "iterate": true,
            "results": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 1,
                            "default": "service",
                            "description": "Credentials used for writing data."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "order": 4,
                            "default": "",
                            "description": "Name of Google BigQuery dataset to create."
                        }
                    },
                    "table": "DV360_Google_Audiences"
                }
            }
        }
    },
    {
        "google_api": {
            "auth": {
                "field": {
                    "name": "auth_dv",
                    "kind": "authentication",
                    "order": 1,
                    "default": "service",
                    "description": "Credentials used for reading data."
                }
            },
            "api": "displayvideo",
            "version": "v1",
            "function": "combinedAudiences.list",
            "kwargs_remote": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 3,
                            "default": "service",
                            "description": "Credentials to use for BigQuery reads and writes."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "order": 0,
                            "default": "",
                            "description": "Google BigQuery dataset to create tables in."
                        }
                    },
                    "query": "SELECT DISTINCT CAST(advertiserId AS STRING) AS advertiserId FROM `DV360_Advertisers`",
                    "legacy": false
                }
            },
            "iterate": true,
            "results": {
                "bigquery": {
                    "auth": {
                        "field": {
                            "name": "auth_bigquery",
                            "kind": "authentication",
                            "order": 1,
                            "default": "service",
                            "description": "Credentials used for writing data."
                        }
                    },
                    "dataset": {
                        "field": {
                            "name": "recipe_slug",
                            "kind": "string",
                            "order": 4,
                            "default": "",
                            "description": "Name of Google BigQuery dataset to create."
                        }
                    },
                    "table": "DV360_Combined_Audiences"
                }
            }
        }
    }
]


Run This Workflow In Minutes On Google Cloud

Everything from a quick Google Cloud UI to reference developer code for your team in one GitHub repository.

Deployment Stepslaunch Developer Guidebuild UI How Tolaptop