├── explores
├── .gitkeep
├── data_health_check.explore.lkml
├── impression_funnel.explore.lkml
├── click.explore.lkml
├── activity.explore.lkml
└── impression.explore.lkml
├── views
├── .gitkeep
├── match_tables
│ ├── .gitkeep
│ ├── match_table_browsers.view.lkml
│ ├── match_table_cities.view.lkml
│ ├── match_table_ad_placement_assignments.view.lkml
│ ├── match_table_activity_types.view.lkml
│ ├── match_table_advertisers.view.lkml
│ ├── match_table_campaigns.view.lkml
│ └── match_table_ads.view.lkml
├── derived_tables
│ ├── .gitkeep
│ ├── match_table_operating_systems.view.lkml
│ ├── user_impression_facts.view.lkml
│ ├── match_table_creatives.view.lkml
│ ├── user_campaign_facts.view.lkml
│ └── impression_funnel.view.lkml
├── redaction_combined.view.lkml
├── click.view.lkml
├── date_comparison.view.lkml
├── activity.view.lkml
└── impression.view.lkml
├── map_layers
└── .gitkeep
├── manifest.lkml
├── marketplace.json
├── campaign_manager_marketplace_v2.model.lkml
├── LICENSE
├── README.md
└── dashboards
├── 4_data_health_check.dashboard.lookml
├── 2_top_performers__breakdowns.dashboard.lookml
├── 3_campaign_overview.dashboard.lookml
└── 1_reach_overview.dashboard.lookml
/explores/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/map_layers/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/match_tables/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/derived_tables/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/explores/data_health_check.explore.lkml:
--------------------------------------------------------------------------------
1 | include: "/views/**/*.view"
2 |
3 | explore: data_health_check {
4 | view_name: redaction_combined
5 | label: "(5) Data Health Check"
6 | always_filter: {
7 | filters: [redaction_combined.partition: "last 7 days"]
8 | }
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/views/match_tables/match_table_browsers.view.lkml:
--------------------------------------------------------------------------------
1 | view: match_table_browsers {
2 | sql_table_name: (select * from `@{PROJECT_NAME}.@{DATASET_NAME}.match_table_browsers_@{CAMPAIGN_MANAGER_ID}` where _LATEST_DATE = _DATA_DATE) ;;
3 |
4 | dimension: browser_platform {
5 | type: string
6 | sql: ${TABLE}.Browser_Platform ;;
7 | }
8 |
9 | dimension: browser_platform_id {
10 | primary_key: yes
11 | hidden: yes
12 | type: string
13 | sql: ${TABLE}.Browser_Platform_ID ;;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/manifest.lkml:
--------------------------------------------------------------------------------
1 | project_name: "block-google-campaign-manager-dts"
2 |
3 | constant: CONNECTION_NAME {
4 | value: "your_bq_connection_name"
5 | export: override_optional
6 | }
7 |
8 | constant: PROJECT_NAME {
9 | value: "your_bq_project_name"
10 | export: override_optional
11 | }
12 | constant: DATASET_NAME {
13 | value: "your_bq_campaign_manager_dataset"
14 | export: override_optional
15 | }
16 | constant: CAMPAIGN_MANAGER_ID {
17 | value: "your_campaign_manager_id"
18 | export: override_optional
19 | }
20 |
--------------------------------------------------------------------------------
/views/match_tables/match_table_cities.view.lkml:
--------------------------------------------------------------------------------
1 | view: match_table_cities {
2 | sql_table_name: (select * from `@{PROJECT_NAME}.@{DATASET_NAME}.match_table_cities_@{CAMPAIGN_MANAGER_ID}` where _LATEST_DATE = _DATA_DATE) ;;
3 |
4 |
5 | dimension: city {
6 | type: string
7 | sql: ${TABLE}.City ;;
8 | }
9 |
10 | dimension: city_id {
11 | type: string
12 | sql: ${TABLE}.City_ID ;;
13 | }
14 |
15 | measure: count {
16 | type: count
17 | approximate_threshold: 100000
18 | drill_fields: []
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/views/match_tables/match_table_ad_placement_assignments.view.lkml:
--------------------------------------------------------------------------------
1 | view: match_table_ad_placement_assignments {
2 | sql_table_name: (select * from `@{PROJECT_NAME}.@{DATASET_NAME}.match_table_ad_placement_assignments_@{CAMPAIGN_MANAGER_ID}` where _LATEST_DATE = _DATA_DATE) ;;
3 |
4 | dimension: ad_id {
5 | type: string
6 | sql: ${TABLE}.Ad_ID ;;
7 | }
8 |
9 | dimension: placement_id {
10 | type: string
11 | sql: ${TABLE}.Placement_ID ;;
12 | }
13 |
14 | dimension: pk {
15 | hidden: yes
16 | primary_key: yes
17 | sql: CONCAT(${ad_id},'-',${placement_id}) ;;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/marketplace.json:
--------------------------------------------------------------------------------
1 | {
2 | "label": "Campaign Manager 360",
3 | "category_label": "Models",
4 | "branding": {
5 | "image_uri": "https://marketplace-api.looker.com/block-icons/block-campaign_manager.png",
6 | "tagline": "Flood light on campaign impressions, spend and more.\n(Beta)",
7 | "badge": "Beta"
8 | },
9 | "constants": {
10 | "CONNECTION_NAME": {
11 | "label": "Connection Name",
12 | "value_constraint": "connection"
13 | }
14 | },
15 | "models": [
16 | {
17 | "name": "campaign_manager_marketplace_v2",
18 | "connection_constant": "CONNECTION_NAME"
19 | }
20 | ]
21 | }
--------------------------------------------------------------------------------
/campaign_manager_marketplace_v2.model.lkml:
--------------------------------------------------------------------------------
1 | connection: "@{CONNECTION_NAME}"
2 |
3 | include: "/explores/**/*"
4 | include: "/dashboards/**/*.dashboard"
5 |
6 | map_layer: dma {
7 | file: "/map_layers/dma.topojson"
8 | property_key: "dma"
9 | }
10 |
11 | persist_for: "24 hours"
12 |
13 | label: "Block Campaign Manager 360"
14 |
15 |
16 |
17 | datagroup: new_day {
18 | sql_trigger:
19 | SELECT max(date(_PARTITIONTIME)) from ${impression.SQL_TABLE_NAME}
20 | where _PARTITIONTIME >= TIMESTAMP(DATE_ADD(CURRENT_DATE, INTERVAL -60 DAY)) ;;
21 | }
22 |
23 | datagroup: bqml_datagroup {
24 | sql_trigger: select CURRENT_DATE() ;;
25 | max_cache_age: "24 hours"
26 | }
27 |
--------------------------------------------------------------------------------
/views/derived_tables/match_table_operating_systems.view.lkml:
--------------------------------------------------------------------------------
1 | view: match_table_operating_systems {
2 | # De-Duping
3 | derived_table: {
4 | sql: SELECT
5 | CAST(Operating_System_ID AS INT64) AS Operating_System_ID_key,
6 | Operating_System
7 | FROM `@{PROJECT_NAME}.@{DATASET_NAME}.match_table_operating_systems_@{CAMPAIGN_MANAGER_ID}`
8 | GROUP BY Operating_System_ID_key,Operating_System ;;
9 | }
10 |
11 | dimension: operating_system {
12 | type: string
13 | sql: ${TABLE}.Operating_System ;;
14 | }
15 |
16 | dimension: operating_system_id_key {
17 | primary_key: yes
18 | hidden: yes
19 | type: string
20 | sql: ${TABLE}.Operating_System_ID_key ;;
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/views/match_tables/match_table_activity_types.view.lkml:
--------------------------------------------------------------------------------
1 | view: match_table_activity_types {
2 | sql_table_name: (select * from `@{PROJECT_NAME}.@{DATASET_NAME}.match_table_activity_types_@{CAMPAIGN_MANAGER_ID}` where _LATEST_DATE = _DATA_DATE) ;;
3 |
4 | dimension: activity_group {
5 | type: string
6 | sql: ${TABLE}.Activity_Group ;;
7 | }
8 |
9 | dimension: activity_group_id {
10 | type: string
11 | sql: ${TABLE}.Activity_Group_ID ;;
12 | }
13 |
14 | dimension: activity_type {
15 | type: string
16 | sql: ${TABLE}.Activity_Type ;;
17 | }
18 |
19 | dimension: floodlight_configuration {
20 | type: string
21 | sql: ${TABLE}.Floodlight_Configuration ;;
22 | }
23 |
24 | measure: count {
25 | type: count
26 | approximate_threshold: 100000
27 | drill_fields: []
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/views/match_tables/match_table_advertisers.view.lkml:
--------------------------------------------------------------------------------
1 | view: match_table_advertisers {
2 | sql_table_name: (select * from `@{PROJECT_NAME}.@{DATASET_NAME}.match_table_advertisers_@{CAMPAIGN_MANAGER_ID}` where _LATEST_DATE = _DATA_DATE) ;;
3 |
4 | dimension: advertiser_name {
5 | type: string
6 | sql: ${TABLE}.Advertiser ;;
7 | }
8 |
9 | dimension: advertiser_group {
10 | type: string
11 | sql: ${TABLE}.Advertiser_Group ;;
12 | }
13 |
14 | dimension: advertiser_group_id {
15 | type: string
16 | sql: ${TABLE}.Advertiser_Group_ID ;;
17 | }
18 |
19 | dimension: advertiser_id {
20 | type: string
21 | hidden: yes
22 | sql: ${TABLE}.Advertiser_ID ;;
23 | }
24 |
25 | dimension: floodlight_configuration {
26 | type: string
27 | sql: ${TABLE}.Floodlight_Configuration ;;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/views/match_tables/match_table_campaigns.view.lkml:
--------------------------------------------------------------------------------
1 | view: match_table_campaigns {
2 | sql_table_name: (select * from `@{PROJECT_NAME}.@{DATASET_NAME}.match_table_campaigns_@{CAMPAIGN_MANAGER_ID}` where _LATEST_DATE = _DATA_DATE) ;;
3 |
4 | dimension: advertiser_id {
5 | type: string
6 | hidden: yes
7 | sql: ${TABLE}.Advertiser_ID ;;
8 | }
9 |
10 | dimension: billing_invoice_code {
11 | type: string
12 | sql: ${TABLE}.Billing_Invoice_Code ;;
13 | }
14 |
15 | dimension: campaign_name {
16 | type: string
17 | sql: ${TABLE}.Campaign ;;
18 | }
19 |
20 | dimension_group: campaign_end {
21 | type: time
22 | datatype: yyyymmdd
23 | timeframes: [date, week, month, year]
24 | sql: ${TABLE}.Campaign_End_Date ;;
25 | }
26 |
27 | dimension: campaign_id {
28 | hidden: yes
29 | type: string
30 | sql: ${TABLE}.Campaign_ID ;;
31 | }
32 |
33 | dimension_group: campaign_start {
34 | type: time
35 | datatype: yyyymmdd
36 | timeframes: [date, week, month, year]
37 | sql: ${TABLE}.Campaign_Start_Date ;;
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/views/match_tables/match_table_ads.view.lkml:
--------------------------------------------------------------------------------
1 | view: match_table_ads {
2 | sql_table_name: (select * from `@{PROJECT_NAME}.@{DATASET_NAME}.match_table_ads_@{CAMPAIGN_MANAGER_ID}` where _LATEST_DATE = _DATA_DATE) ;;
3 |
4 | dimension: ad_name {
5 | type: string
6 | sql: ${TABLE}.Ad ;;
7 | }
8 |
9 | dimension: ad_click_url {
10 | type: string
11 | sql: ${TABLE}.Ad_Click_URL ;;
12 | }
13 |
14 | dimension: ad_comments {
15 | type: string
16 | sql: ${TABLE}.Ad_Comments ;;
17 | }
18 |
19 | dimension: ad_id {
20 | hidden: yes
21 | type: string
22 | sql: ${TABLE}.Ad_ID ;;
23 | }
24 |
25 | dimension: ad_type {
26 | type: string
27 | sql: ${TABLE}.Ad_Type ;;
28 | }
29 |
30 | dimension: advertiser_id {
31 | type: string
32 | hidden: yes
33 | sql: ${TABLE}.Advertiser_ID ;;
34 | }
35 |
36 | dimension: campaign_id {
37 | type: string
38 | hidden: yes
39 | sql: ${TABLE}.Campaign_ID ;;
40 | }
41 |
42 | dimension: creative_pixel_size {
43 | type: string
44 | sql: ${TABLE}.Creative_Pixel_Size ;;
45 | }
46 |
47 | }
48 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | "MIT License
2 |
3 | Copyright (c) 2022 Google
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE."
22 |
--------------------------------------------------------------------------------
/explores/impression_funnel.explore.lkml:
--------------------------------------------------------------------------------
1 | include: "/views/**/*.view"
2 |
3 | explore: impression_funnel {
4 | view_name: impression_funnel
5 | label: "(2) Impression Funnel"
6 |
7 | sql_always_where: TIMESTAMP(${first_ad_impression_date}) > TIMESTAMP(DATE_ADD(CURRENT_DATE, INTERVAL -60 DAY)) ;;
8 |
9 | join: match_table_campaigns {
10 | view_label: "Campaigns"
11 | sql_on: ${impression_funnel.campaign_id} = ${match_table_campaigns.campaign_id} ;;
12 | relationship: many_to_one
13 | }
14 |
15 | join: match_table_ads {
16 | view_label: "Ads"
17 | sql_on: ${impression_funnel.ad_id} = ${match_table_ads.ad_id} ;;
18 | relationship: many_to_one
19 | }
20 |
21 | join: match_table_advertisers {
22 | view_label: "Advertisers"
23 | sql_on: ${impression_funnel.advertiser_id} = ${match_table_advertisers.advertiser_id} ;;
24 | relationship: many_to_one
25 | }
26 |
27 | join: user_campaign_facts {
28 | view_label: "Users"
29 | sql_on: ${impression_funnel.campaign_id} = ${user_campaign_facts.campaign_id} AND ${impression_funnel.user_id} = ${user_campaign_facts.user_id} ;;
30 | relationship: many_to_one
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/explores/click.explore.lkml:
--------------------------------------------------------------------------------
1 | include: "/views/**/*.view"
2 |
3 | explore: click {
4 | view_name: click
5 | label: "(4) Clicks"
6 | view_label: "Clicks"
7 |
8 | sql_always_where: ${click_raw} > TIMESTAMP(DATE_ADD(CURRENT_DATE, INTERVAL -60 DAY)) ;;
9 |
10 | join: match_table_ads {
11 | view_label: "Ads"
12 | sql_on: ${click.ad_id} = ${match_table_ads.ad_id} ;;
13 | relationship: many_to_one
14 | }
15 |
16 | join: match_table_campaigns {
17 | view_label: "Campaigns"
18 | sql_on: ${click.campaign_id} = ${match_table_campaigns.campaign_id} ;;
19 | relationship: many_to_one
20 | }
21 |
22 | join: match_table_advertisers {
23 | view_label: "Advertisers"
24 | sql_on: ${click.advertiser_id} = ${match_table_advertisers.advertiser_id} ;;
25 | relationship: many_to_one
26 | }
27 |
28 | join: match_table_ad_placement_assignments {
29 | view_label: "Ad Placements"
30 | sql_on: ${click.ad_id} = ${match_table_ad_placement_assignments.ad_id} and ${click.placement_id} = ${match_table_ad_placement_assignments.placement_id} ;;
31 | relationship: many_to_one
32 | }
33 |
34 | join: match_table_browsers {
35 | view_label: "Browsers"
36 | sql_on: ${click.browser_platform_id} = ${match_table_browsers.browser_platform_id} ;;
37 | relationship: many_to_one
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/explores/activity.explore.lkml:
--------------------------------------------------------------------------------
1 | include: "/views/**/*.view"
2 |
3 | explore: activity {
4 | view_name: activity
5 | label: "(3) Activities"
6 | view_label: "Activities"
7 |
8 | sql_always_where: ${activity_raw} > TIMESTAMP(DATE_ADD(CURRENT_DATE, INTERVAL -60 DAY)) ;;
9 |
10 | join: match_table_ads {
11 | view_label: "Ads"
12 | sql_on: ${activity.ad_id} = ${match_table_ads.ad_id} ;;
13 | relationship: many_to_one
14 | }
15 |
16 | join: match_table_campaigns {
17 | view_label: "Campaigns"
18 | sql_on: ${activity.campaign_id} = ${match_table_campaigns.campaign_id} ;;
19 | relationship: many_to_one
20 | }
21 |
22 | join: match_table_advertisers {
23 | view_label: "Advertisers"
24 | sql_on: ${activity.advertiser_id} = ${match_table_advertisers.advertiser_id} ;;
25 | relationship: many_to_one
26 | }
27 |
28 | join: match_table_ad_placement_assignments {
29 | view_label: "Ad Placements"
30 | sql_on: ${activity.ad_id} = ${match_table_ad_placement_assignments.ad_id} and ${activity.placement_id} = ${match_table_ad_placement_assignments.placement_id} ;;
31 | relationship: many_to_one
32 | }
33 |
34 | join: match_table_browsers {
35 | view_label: "Browsers"
36 | sql_on: ${activity.browser_platform_id} = ${match_table_browsers.browser_platform_id} ;;
37 | relationship: many_to_one
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/views/derived_tables/user_impression_facts.view.lkml:
--------------------------------------------------------------------------------
1 | view: user_impression_facts {
2 | derived_table: {
3 | datagroup_trigger: new_day
4 | sql:
5 | SELECT
6 | impression.User_ID AS user_id,
7 | impression.Campaign_ID AS campaign_id,
8 | COUNT(DISTINCT (concat(impression.Ad_ID, impression.Advertiser_ID, impression.User_ID, cast(impression.Event_Time as string), impression.Event_Type, impression.Rendering_ID)) ) AS count_impressions,
9 | (COUNT(DISTINCT (concat(impression.Ad_ID, impression.Advertiser_ID, impression.User_ID, cast(impression.Event_Time as string), impression.Event_Type, impression.Rendering_ID)) ))/NULLIF((COUNT(DISTINCT impression.User_ID )),0) AS impressions_per_user
10 | FROM `@{PROJECT_NAME}.@{DATASET_NAME}.p_impression_@{CAMPAIGN_MANAGER_ID}` AS impression
11 | WHERE impression._PARTITIONTIME > TIMESTAMP(DATE_ADD(CURRENT_DATE, INTERVAL -60 DAY))
12 | GROUP BY 1,2 ;;
13 | }
14 |
15 | dimension: user_id {
16 | primary_key: yes
17 | hidden: yes
18 | }
19 |
20 | dimension: campaign_id {
21 | hidden: yes
22 | }
23 |
24 | dimension: count_impressions {
25 | view_label: "Impressions"
26 | label: "Impressions Per User"
27 | type: number
28 | }
29 |
30 | dimension: impressions_per_user_tiered {
31 | view_label: "Impressions"
32 | label: "Impressions Per User - Tiered"
33 | type: tier
34 | style: integer
35 | tiers: [1,10,20,30,40,50]
36 | sql: ${count_impressions} ;;
37 | }
38 |
39 |
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/views/redaction_combined.view.lkml:
--------------------------------------------------------------------------------
1 | view: redaction_combined {
2 | derived_table: {
3 | sql: SELECT User_ID,"Impression" AS File_Type FROM `@{PROJECT_NAME}.@{DATASET_NAME}.p_impression_@{CAMPAIGN_MANAGER_ID}`
4 | WHERE {% condition partition %}_PARTITIONTIME {% endcondition %}
5 | UNION ALL
6 | SELECT User_ID,"Click" AS File_Type FROM `@{PROJECT_NAME}.@{DATASET_NAME}.p_click_@{CAMPAIGN_MANAGER_ID}`
7 | WHERE {% condition partition %}_PARTITIONTIME {% endcondition %}
8 | UNION ALL
9 | SELECT User_ID,"Activity" AS File_Type FROM `@{PROJECT_NAME}.@{DATASET_NAME}.p_activity_@{CAMPAIGN_MANAGER_ID}`
10 | WHERE {% condition partition %}_PARTITIONTIME {% endcondition %}
11 | ;;
12 | }
13 |
14 | filter: partition {
15 | type: date
16 | default_value: "7 days"
17 | }
18 |
19 | dimension: user_id {
20 | type: string
21 | sql: ${TABLE}.User_ID ;;
22 | }
23 |
24 | dimension: file_type {
25 | type: string
26 | sql: ${TABLE}.File_Type ;;
27 | }
28 |
29 | dimension: redacted {
30 | type: yesno
31 | sql: ${user_id} = '0' ;;
32 | }
33 |
34 | dimension: filled {
35 | type: yesno
36 | sql: ${user_id} != '0' ;;
37 | }
38 |
39 | measure: total_count {
40 | type: count
41 | }
42 |
43 | measure: total_redacted {
44 | type: count
45 | filters: [redacted: "yes"]
46 | }
47 |
48 | measure: total_filled {
49 | type: count
50 | filters: [filled: "yes"]
51 | }
52 |
53 | measure: redaction_rate {
54 | type: number
55 | value_format_name: percent_2
56 | sql: 1.0*${total_redacted}/NULLIF(${total_count},0) ;;
57 | }
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/explores/impression.explore.lkml:
--------------------------------------------------------------------------------
1 | include: "/views/**/*.view"
2 |
3 | explore: impression {
4 | view_name: impression
5 | label: "(1) Impressions"
6 | view_label: "Impressions"
7 |
8 | sql_always_where: ${impression_raw} > TIMESTAMP(DATE_ADD(CURRENT_DATE, INTERVAL -60 DAY)) ;;
9 |
10 | join: match_table_ads {
11 | view_label: "Ads"
12 | sql_on: ${impression.ad_id} = ${match_table_ads.ad_id} ;;
13 | relationship: many_to_one
14 | }
15 |
16 | join: match_table_campaigns {
17 | view_label: "Campaigns"
18 | sql_on: ${impression.campaign_id} = ${match_table_campaigns.campaign_id} ;;
19 | relationship: many_to_one
20 | }
21 |
22 | join: match_table_advertisers {
23 | view_label: "Advertisers"
24 | sql_on: ${impression.advertiser_id} = ${match_table_advertisers.advertiser_id} ;;
25 | relationship: many_to_one
26 | }
27 |
28 | join: match_table_ad_placement_assignments {
29 | view_label: "Ad Placements"
30 | sql_on: ${impression.ad_id} = ${match_table_ad_placement_assignments.ad_id} and ${impression.placement_id} = ${match_table_ad_placement_assignments.placement_id} ;;
31 | relationship: many_to_one
32 | }
33 |
34 | join: match_table_browsers {
35 | view_label: "Browsers"
36 | sql_on: ${impression.browser_platform_id} = ${match_table_browsers.browser_platform_id} ;;
37 | relationship: many_to_one
38 | }
39 |
40 | join: match_table_creatives {
41 | view_label: "Creatives"
42 | sql_on: ${impression.rendering_id} = ${match_table_creatives.rendering_id} ;;
43 | relationship: many_to_one
44 | }
45 | join: match_table_operating_systems {
46 | view_label: "Operating System"
47 | sql_on: ${impression.operating_system_id_key} = ${match_table_operating_systems.operating_system_id_key} ;;
48 | relationship: many_to_one
49 | }
50 |
51 | join: user_impression_facts {
52 | relationship: one_to_one
53 | sql_on: ${impression.user_id} = ${user_impression_facts.user_id} and ${impression.campaign_id} = ${user_impression_facts.campaign_id} ;;
54 | }
55 |
56 | }
57 |
--------------------------------------------------------------------------------
/views/derived_tables/match_table_creatives.view.lkml:
--------------------------------------------------------------------------------
1 | view: match_table_creatives {
2 | derived_table: {
3 | sql:
4 | SELECT * FROM (
5 | SELECT
6 | _DATA_DATE,
7 | _LATEST_DATE,
8 | Advertiser_ID,
9 | Rendering_ID,
10 | Creative_ID,
11 | Creative,
12 | Creative_Type,
13 | Creative_Image_URL,
14 | Creative_Last_Modified_Date,
15 | Creative_Version
16 | Creative_Pixel_Size,
17 | ROW_NUMBER() OVER(
18 | PARTITION BY Rendering_ID
19 | ORDER BY _DATA_DATE DESC
20 | ) AS Recency
21 | FROM `@{PROJECT_NAME}.@{DATASET_NAME}.match_table_creatives_@{CAMPAIGN_MANAGER_ID}`
22 | )
23 | WHERE Recency = 1
24 | ;;
25 | }
26 |
27 | dimension_group: _data {
28 | type: time
29 | timeframes: [
30 | raw,
31 | date,
32 | week,
33 | month,
34 | quarter,
35 | year
36 | ]
37 | convert_tz: no
38 | datatype: date
39 | sql: ${TABLE}._DATA_DATE ;;
40 | }
41 |
42 | dimension_group: _latest {
43 | type: time
44 | timeframes: [
45 | raw,
46 | date,
47 | week,
48 | month,
49 | quarter,
50 | year
51 | ]
52 | convert_tz: no
53 | datatype: date
54 | sql: ${TABLE}._LATEST_DATE ;;
55 | }
56 |
57 | dimension: advertiser_id {
58 | type: string
59 | sql: ${TABLE}.Advertiser_ID ;;
60 | }
61 |
62 | dimension: creative {
63 | type: string
64 | sql: ${TABLE}.Creative ;;
65 | }
66 |
67 | dimension: creative_id {
68 | type: string
69 | sql: ${TABLE}.Creative_ID ;;
70 | }
71 |
72 | dimension: creative_image_url {
73 | type: string
74 | sql: ${TABLE}.Creative_Image_URL ;;
75 | }
76 |
77 | dimension: creative_last_modified_date {
78 | type: string
79 | sql: ${TABLE}.Creative_Last_Modified_Date ;;
80 | }
81 |
82 | dimension: creative_pixel_size {
83 | type: string
84 | sql: ${TABLE}.Creative_Pixel_Size ;;
85 | }
86 |
87 | dimension: creative_type {
88 | type: string
89 | sql: ${TABLE}.Creative_Type ;;
90 | }
91 |
92 | dimension: creative_version {
93 | type: number
94 | sql: ${TABLE}.Creative_Version ;;
95 | }
96 |
97 | dimension: rendering_id {
98 | type: string
99 | sql: ${TABLE}.Rendering_ID ;;
100 | }
101 |
102 | }
103 |
--------------------------------------------------------------------------------
/views/derived_tables/user_campaign_facts.view.lkml:
--------------------------------------------------------------------------------
1 | view: user_campaign_facts {
2 | derived_table: {
3 | datagroup_trigger: new_day
4 | sql: SELECT
5 | impression_funnel.user_id AS impression_funnel_user_id,
6 | impression_funnel.campaign_id AS impression_funnel_campaign_id,
7 | min(impression_funnel.first_activity) AS first_campaign_activity_date,
8 | min(impression_funnel.first_click) AS first_campaign_click_date,
9 | min(impression_funnel.first_impression) AS first_campaign_impression_date,
10 | max(impression_funnel.latest_click) AS latest_campaign_click_date,
11 | max(impression_funnel.latest_activity) AS latest_campaign_activity_date,
12 | max(impression_funnel.latest_impression) AS latest_campaign_impression_date
13 | FROM ${impression_funnel.SQL_TABLE_NAME} AS impression_funnel
14 | GROUP BY 1,2
15 | ;;
16 | }
17 |
18 | dimension: user_id {
19 | hidden: yes
20 | primary_key: yes
21 | type: string
22 | sql: ${TABLE}.impression_funnel_user_id ;;
23 | }
24 |
25 | dimension: campaign_id {
26 | type: string
27 | hidden: yes
28 | sql: ${TABLE}.impression_funnel_campaign_id ;;
29 | }
30 |
31 | dimension_group: first_campaign_activity {
32 | type: time
33 | datatype: epoch
34 | sql: cast(${TABLE}.first_campaign_activity_date/1000000 as int64) ;;
35 | timeframes: [date, week, month, year]
36 | }
37 |
38 | dimension_group: first_campaign_click {
39 | type: time
40 | datatype: epoch
41 | sql: cast(${TABLE}.first_campaign_click_date/1000000 as int64) ;;
42 | timeframes: [date, week, month, year]
43 | }
44 |
45 | dimension_group: first_campaign_impression {
46 | type: time
47 | datatype: epoch
48 | sql: cast(${TABLE}.first_campaign_impression_date/1000000 as int64) ;;
49 | timeframes: [date, week, month, year]
50 | }
51 |
52 | dimension_group: latest_campaign_click {
53 | type: time
54 | datatype: epoch
55 | sql: cast(${TABLE}.latest_campaign_click_date/1000000 as int64) ;;
56 | timeframes: [date, week, month, year]
57 | }
58 |
59 | dimension_group: latest_campaign_activity {
60 | type: time
61 | datatype: epoch
62 | sql: cast(${TABLE}.latest_campaign_activity_date/1000000 as int64) ;;
63 | timeframes: [date, week, month, year]
64 | }
65 |
66 | dimension_group: latest_campaign_impression {
67 | type: time
68 | datatype: epoch
69 | sql: cast(${TABLE}.latest_campaign_impression_date/1000000 as int64) ;;
70 | timeframes: [date, week, month, year]
71 | }
72 |
73 | measure: count {
74 | type: count
75 | }
76 |
77 | set: detail {
78 | fields: [first_campaign_activity_date, first_campaign_click_date, first_campaign_impression_date, latest_campaign_click_date, latest_campaign_activity_date, latest_campaign_impression_date]
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/views/click.view.lkml:
--------------------------------------------------------------------------------
1 | include: "date_comparison.view"
2 |
3 | view: click {
4 | sql_table_name: `@{PROJECT_NAME}.@{DATASET_NAME}.p_click_@{CAMPAIGN_MANAGER_ID}`;;
5 | extends: [date_comparison]
6 |
7 | dimension_group: click {
8 | type: time
9 | timeframes: [raw, date, week, day_of_week, month, month_name, quarter, year]
10 | sql: ${TABLE}._PARTITIONTIME ;;
11 | }
12 |
13 | dimension: ad_id {
14 | type: string
15 | sql: ${TABLE}.Ad_ID ;;
16 | }
17 |
18 | dimension: advertiser_id {
19 | type: string
20 | sql: ${TABLE}.Advertiser_ID ;;
21 | }
22 |
23 | dimension: browser_platform_id {
24 | type: string
25 | sql: ${TABLE}.Browser_Platform_ID ;;
26 | }
27 |
28 | dimension: browser_platform_version {
29 | type: string
30 | sql: ${TABLE}.Browser_Platform_Version ;;
31 | }
32 |
33 | dimension: campaign_id {
34 | type: string
35 | sql: ${TABLE}.Campaign_ID ;;
36 | }
37 |
38 | dimension: city_id {
39 | type: string
40 | sql: ${TABLE}.City_ID ;;
41 | }
42 |
43 | dimension: country_code {
44 | type: string
45 | sql: ${TABLE}.Country_Code ;;
46 | }
47 |
48 | dimension: creative_version {
49 | type: number
50 | sql: ${TABLE}.Creative_Version ;;
51 | }
52 |
53 | dimension: designated_market_area_dma_id {
54 | type: string
55 | sql: ${TABLE}.Designated_Market_Area_DMA_ID ;;
56 | }
57 |
58 | dimension: event_sub_type {
59 | type: string
60 | sql: ${TABLE}.Event_Sub_Type ;;
61 | }
62 |
63 | dimension_group: event {
64 | type: time
65 | datatype: epoch
66 | sql: ${TABLE}.Event_Time/1000000 ;;
67 | }
68 |
69 | dimension: event_type {
70 | type: string
71 | sql: ${TABLE}.Event_Type ;;
72 | }
73 |
74 | dimension: operating_system_id {
75 | type: string
76 | sql: ${TABLE}.Operating_System_ID ;;
77 | }
78 |
79 | dimension: partner1_id {
80 | type: string
81 | sql: ${TABLE}.Partner1_ID ;;
82 | }
83 |
84 | dimension: partner2_id {
85 | type: string
86 | sql: ${TABLE}.Partner2_ID ;;
87 | }
88 |
89 | dimension: placement_id {
90 | type: string
91 | sql: ${TABLE}.Placement_ID ;;
92 | }
93 |
94 | dimension: rendering_id {
95 | type: string
96 | sql: ${TABLE}.Rendering_ID ;;
97 | }
98 |
99 | dimension: segment_value_1 {
100 | type: string
101 | sql: ${TABLE}.Segment_Value_1 ;;
102 | }
103 |
104 | dimension: site_id_dcm {
105 | type: string
106 | sql: ${TABLE}.Site_ID_DCM ;;
107 | }
108 |
109 | dimension: state_region {
110 | type: string
111 | sql: ${TABLE}.State_Region ;;
112 | }
113 |
114 | dimension: u_value {
115 | type: string
116 | sql: ${TABLE}.U_Value ;;
117 | }
118 |
119 | dimension: user_id {
120 | type: string
121 | sql: ${TABLE}.User_ID ;;
122 | }
123 |
124 | dimension: zip_postal_code {
125 | type: string
126 | sql: ${TABLE}.ZIP_Postal_Code ;;
127 | }
128 |
129 | measure: count {
130 | type: count
131 | drill_fields: [match_table_campaigns.campaign_name, count]
132 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
133 | }
134 | }
135 |
--------------------------------------------------------------------------------
/views/date_comparison.view.lkml:
--------------------------------------------------------------------------------
1 | view: date_comparison {
2 | extension: required
3 |
4 | parameter: comparison_type {
5 | label: "Date Range"
6 | view_label: "Date Comparison"
7 | type: unquoted
8 | allowed_value: {
9 | label: "Last 7 Days"
10 | value: "seven"
11 | }
12 | allowed_value: {
13 | label: "Last 14 Days"
14 | value: "fourteen"
15 | }
16 | allowed_value: {
17 | label: "Last 30 Days"
18 | value: "thirty"
19 | }
20 | default_value: "seven"
21 | }
22 |
23 | dimension: selected_comparison {
24 | view_label: "Date Comparison"
25 | sql: {% if comparison_type._parameter_value == "seven" %}
26 | ${last_7_days_vs_previous_7_days}
27 | {% elsif comparison_type._parameter_value == "fourteen" %}
28 | ${last_14_days_vs_previous_14_days}
29 | {% elsif comparison_type._parameter_value == "thirty" %}
30 | ${last_30_days_vs_previous_30_days}
31 | {% else %}
32 | 0
33 | {% endif %};;
34 | }
35 |
36 | dimension: no_comparison {
37 | view_label: "Date Comparison"
38 | type: yesno
39 | sql: ${selected_comparison} LIKE '%Last%' ;;
40 | }
41 |
42 |
43 | dimension: last_7_days_vs_previous_7_days {
44 | view_label: "Date Comparison"
45 | type: string
46 | sql: CASE
47 | WHEN (( ${TABLE}._PARTITIONTIME >= (TIMESTAMP_ADD(TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), DAY), INTERVAL -6 DAY))) AND ${TABLE}._PARTITIONTIME < (TIMESTAMP_ADD(TIMESTAMP_ADD(TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), DAY), INTERVAL -6 DAY), INTERVAL 7 DAY)))
48 | THEN 'Last 7 Days'
49 |
50 | WHEN (( ${TABLE}._PARTITIONTIME >= (TIMESTAMP_ADD(TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), DAY), INTERVAL -13 DAY))) AND ${TABLE}._PARTITIONTIME < (TIMESTAMP_ADD(TIMESTAMP_ADD(TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), DAY), INTERVAL -13 DAY), INTERVAL 7 DAY)))
51 | THEN 'Prior 7 Days'
52 | END
53 | ;;
54 | }
55 |
56 |
57 | dimension: last_14_days_vs_previous_14_days {
58 | view_label: "Date Comparison"
59 | type: string
60 | sql: CASE
61 | WHEN (( ${TABLE}._PARTITIONTIME >= (TIMESTAMP_ADD(TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), DAY), INTERVAL -13 DAY))) AND ${TABLE}._PARTITIONTIME < (TIMESTAMP_ADD(TIMESTAMP_ADD(TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), DAY), INTERVAL -13 DAY), INTERVAL 14 DAY)))
62 | THEN 'Last 14 Days'
63 |
64 | WHEN (( ${TABLE}._PARTITIONTIME >= (TIMESTAMP_ADD(TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), DAY), INTERVAL -27 DAY))) AND ${TABLE}._PARTITIONTIME < (TIMESTAMP_ADD(TIMESTAMP_ADD(TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), DAY), INTERVAL -27 DAY), INTERVAL 14 DAY)))
65 | THEN 'Prior 14 Days'
66 | END
67 | ;;
68 | }
69 |
70 |
71 | dimension: last_30_days_vs_previous_30_days {
72 | view_label: "Date Comparison"
73 | type: string
74 | sql: CASE
75 | WHEN (( ${TABLE}._PARTITIONTIME >= (TIMESTAMP_ADD(TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), DAY), INTERVAL -29 DAY))) AND ${TABLE}._PARTITIONTIME < (TIMESTAMP_ADD(TIMESTAMP_ADD(TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), DAY), INTERVAL -29 DAY), INTERVAL 30 DAY)))
76 | THEN 'Last 30 Days'
77 |
78 | WHEN (( ${TABLE}._PARTITIONTIME >= (TIMESTAMP_ADD(TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), DAY), INTERVAL -59 DAY))) AND ${TABLE}._PARTITIONTIME < (TIMESTAMP_ADD(TIMESTAMP_ADD(TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), DAY), INTERVAL -59 DAY), INTERVAL 30 DAY)))
79 | THEN 'Prior 30 Days'
80 | END
81 | ;;
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Campaign Manager 360 Block
2 |
3 |
4 |
5 | ### Why use the Looker Campaign Manager 360 Block?
6 | **(1) Rapid Time To Value** - Gain insights from your Campaign Manager 360 (CM 360) data in minutes, not weeks. The CM 360 Block includes pre-built dashboards and content focusing on the ad management system for advertisers and agencies, with analysis around campaign performance, reach and impressions.
7 |
8 | **(2) Centralized Place for Analysis** - No CM 360 access required to do self-service reporting. Plus, you can combine your CM 360 data with other data in your warehouse (e.g. Bitbucket or Github commits) for end-to-end analysis.
9 |
10 |
11 | **(3) Enterprise Data Platform** - Your marketing team can easily build their own dashboards, and any user is equipped to ask and answer their own questions, save and share their own reports. Additionally, you can take advantage of Looker’s advanced scheduling functionality to get Alerts whenever workflows are disrupted. Using our Data Health Check dashboard within the block you can monitor redacted User IDs within CM 360.
12 |
13 | **(4) Take Action on Your Data Quickly** - Analysts can jump into the CM 360 dashboards and clearly see performance trends by toggling between different performance KPIs and viewing attribute breakdowns. From the dashboard, directly link to the specific campaign in the CM 360 console.
14 |
15 |
16 |
17 | ### Campaign Manager 360 Data Structure and Schema
18 |
19 | This block version is based off of Data Transfer v2.0. Please note that fields for "Landing Page URL ID", "Impression ID" and "Referrer URL" are not included in this block. These fields can be added into the config files if needed.
20 |
21 | CM 360 data is exported through [Transfer Services](https://cloud.google.com/bigquery-transfer/docs/doubleclick-campaign-transfer) in the format of three flat tables (a single file for impressions, clicks, and activities). All Data Transfer Files are stored as comma separated values (CSV).
22 |
23 | Filenames are a combination of dcm ID (like account, or floodlight), data transfer type (impression, click, activity, or rich_media), the date and hour of the processed file (YYYYMMDDHH), the day the report was generated (YYYYMMDD), the time the report was generated (HHMMSS), and the execution ID of the report separated by underscores. A more detailed description of the Data Transfer customisation and fields can be found [here](https://developers.google.com/doubleclick-advertisers/dtv2/reference/file-format).
24 |
25 | It is strongly recommended that you load all match tables into your warehouse to allow your business users to gain a deeper understanding into the naming conventions of your campaigns, activities, ads, advertisers, assets, and browsers. More information on all Data Transfer match tables can also be found [here](https://developers.google.com/doubleclick-advertisers/dtv2/reference/match-tables).
26 |
27 |
28 |
29 | ### Customizations
30 |
31 | - This block uses refinements for customization. For more information on using refinements to customize marketplace blocks, please see [this link](https://docs.looker.com/data-modeling/marketplace/customize-blocks#marketplace_blocks_that_use_refinements).
32 | - Refinements can be used to add new content or modify existing content on views and explores without the need to copy individual LookML elements into a new project.
33 | - Within the ```(2) Top Performers & Breakdowns``` dashboard there are three breakdown tiles that are configurable. It is recommended to import this dashboard and edit these tiles to create custom classifications based on placement name or campaign tactic. Once configured, you can drill into these metrics to get an additional level of granularity into underlying factors.
34 |
35 |
36 |
--------------------------------------------------------------------------------
/views/activity.view.lkml:
--------------------------------------------------------------------------------
1 | include: "date_comparison.view"
2 |
3 | view: activity {
4 | sql_table_name: `@{PROJECT_NAME}.@{DATASET_NAME}.p_activity_@{CAMPAIGN_MANAGER_ID}` ;;
5 | extends: [date_comparison]
6 |
7 | dimension_group: activity {
8 | type: time
9 | timeframes: [raw, date, week, day_of_week, month, month_name, quarter, year]
10 | sql: ${TABLE}._PARTITIONTIME ;;
11 | }
12 |
13 | dimension: pk {
14 | primary_key: yes
15 | type: string
16 | sql: concat(${activity_id}, ${ad_id}, ${advertiser_id}, ${user_id}, cast(${TABLE}.Event_Time as string), ${event_type}, ${rendering_id}) ;;
17 | }
18 |
19 | measure: count_activities {
20 | type: count_distinct
21 | sql: ${pk} ;;
22 | }
23 |
24 | dimension: activity_id {
25 | type: string
26 | sql: ${TABLE}.Activity_ID ;;
27 | }
28 |
29 | dimension: ad_id {
30 | type: string
31 | sql: ${TABLE}.Ad_ID ;;
32 | }
33 |
34 | dimension: advertiser_id {
35 | type: string
36 | sql: ${TABLE}.Advertiser_ID ;;
37 | }
38 |
39 | dimension: browser_platform_id {
40 | type: string
41 | sql: ${TABLE}.Browser_Platform_ID ;;
42 | }
43 |
44 | dimension: browser_platform_version {
45 | type: string
46 | sql: ${TABLE}.Browser_Platform_Version ;;
47 | }
48 |
49 | dimension: campaign_id {
50 | type: string
51 | sql: ${TABLE}.Campaign_ID ;;
52 | }
53 |
54 | dimension: conversion_id {
55 | type: string
56 | sql: ${TABLE}.Conversion_ID ;;
57 | }
58 |
59 | dimension: country_code {
60 | type: string
61 | sql: ${TABLE}.Country_Code ;;
62 | }
63 |
64 | dimension: creative_version {
65 | type: number
66 | sql: ${TABLE}.Creative_Version ;;
67 | }
68 |
69 | dimension: event_sub_type {
70 | type: string
71 | sql: ${TABLE}.Event_Sub_Type ;;
72 | }
73 |
74 | dimension_group: event {
75 | type: time
76 | datatype: epoch
77 | sql: CAST(${TABLE}.Event_Time/1000000 as INT64) ;;
78 | }
79 |
80 | dimension: event_type {
81 | type: string
82 | sql: ${TABLE}.Event_Type ;;
83 | }
84 |
85 | dimension: floodlight_configuration {
86 | type: string
87 | sql: ${TABLE}.Floodlight_Configuration ;;
88 | }
89 |
90 | dimension_group: interaction {
91 | type: time
92 | datatype: epoch
93 | sql: INTEGER(${TABLE}.Interaction_Time)/1000000 ;;
94 | }
95 |
96 | dimension: operating_system_id {
97 | type: string
98 | sql: ${TABLE}.Operating_System_ID ;;
99 | }
100 |
101 | dimension: ord_value {
102 | type: string
103 | sql: ${TABLE}.ORD_Value ;;
104 | }
105 |
106 | dimension: other_data {
107 | type: string
108 | sql: ${TABLE}.Other_Data ;;
109 | }
110 |
111 | dimension: product_purchased {
112 | type: string
113 | sql: TRIM(REGEXP_EXTRACT(${other_data}, r"u4=(.+?);")) ;;
114 | }
115 |
116 | dimension: partner1_id {
117 | type: string
118 | sql: ${TABLE}.Partner1_ID ;;
119 | }
120 |
121 | dimension: partner2_id {
122 | type: string
123 | sql: ${TABLE}.Partner2_ID ;;
124 | }
125 |
126 | dimension: placement_id {
127 | type: string
128 | sql: ${TABLE}.Placement_ID ;;
129 | }
130 |
131 | dimension: rendering_id {
132 | type: string
133 | sql: ${TABLE}.Rendering_ID ;;
134 | }
135 |
136 | dimension: segment_value_1 {
137 | type: string
138 | sql: ${TABLE}.Segment_Value_1 ;;
139 | }
140 |
141 | dimension: site_id_dcm {
142 | type: string
143 | sql: ${TABLE}.Site_ID_DCM ;;
144 | }
145 |
146 | dimension: state_region {
147 | type: string
148 | sql: ${TABLE}.State_Region ;;
149 | }
150 |
151 | dimension: tran_value {
152 | type: string
153 | sql: ${TABLE}.TRAN_Value ;;
154 | }
155 |
156 | dimension: u_value {
157 | type: string
158 | sql: ${TABLE}.U_Value ;;
159 | }
160 |
161 | dimension: user_id {
162 | type: string
163 | sql: ${TABLE}.User_ID ;;
164 | }
165 |
166 |
167 | ### Measures
168 |
169 | measure: count {
170 | type: count
171 | drill_fields: [match_table_campaigns.campaign_name, count]
172 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
173 | }
174 |
175 | measure: distinct_users {
176 | type: count_distinct
177 | sql: ${user_id} ;;
178 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
179 | }
180 |
181 | measure: total_conversions {
182 | type: sum
183 | sql: ${TABLE}.Total_Conversions ;;
184 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
185 | }
186 |
187 | measure: total_revenue {
188 | type: sum
189 | sql: ${TABLE}.Total_Revenue ;;
190 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
191 | }
192 |
193 | }
194 |
--------------------------------------------------------------------------------
/views/impression.view.lkml:
--------------------------------------------------------------------------------
1 | include: "date_comparison.view.lkml"
2 |
3 | view: impression {
4 | sql_table_name: `@{PROJECT_NAME}.@{DATASET_NAME}.p_impression_@{CAMPAIGN_MANAGER_ID}` ;;
5 | extends: [date_comparison]
6 |
7 | dimension_group: impression {
8 | type: time
9 | timeframes: [raw, date, week, day_of_week, month, month_name, quarter, year]
10 | sql: ${TABLE}._PARTITIONTIME ;;
11 | }
12 |
13 | measure: active_view_eligible_impressions {
14 | type: sum
15 | sql: ${TABLE}.Active_View_Eligible_Impressions ;;
16 | }
17 |
18 | dimension: pk {
19 | type: string
20 | sql: concat(${ad_id}, ${advertiser_id}, ${user_id}, cast(${TABLE}.Event_Time as string), ${event_type}, ${rendering_id}) ;;
21 | hidden: yes
22 | primary_key: yes
23 | }
24 |
25 | #match_table_ads
26 | dimension: ad_id {
27 | type: string
28 | view_label: "Ads"
29 | sql: ${TABLE}.Ad_ID ;;
30 | }
31 |
32 | #match_table_advertisers
33 | dimension: advertiser_id {
34 | view_label: "Advertisers"
35 | type: string
36 | sql: ${TABLE}.Advertiser_ID ;;
37 | link: {
38 | label: "View in Campaign Manager"
39 | icon_url: "https://seeklogo.com/images/G/google-campaign-manager-logo-03026740FA-seeklogo.com.png"
40 | url: "https://www.google.com/dfa/trafficking/#/accounts/@{CAMPAIGN_MANAGER_ID}/advertisers/{{value}}/explorer?"
41 | }
42 | }
43 |
44 | dimension: browser_platform_id {
45 | type: string
46 | sql: ${TABLE}.Browser_Platform_ID ;;
47 | }
48 |
49 | dimension: browser_platform_version {
50 | type: string
51 | sql: ${TABLE}.Browser_Platform_Version ;;
52 | }
53 |
54 | #match_table_campaigns
55 | dimension: campaign_id {
56 | view_label: "Campaigns"
57 | type: string
58 | sql: ${TABLE}.Campaign_ID ;;
59 | link: {
60 | label: "Campaign Performance Dashboard"
61 | url: "/dashboards-next/campaign_manager::3_campaign_overview?Campaign%20ID={{value}}"
62 | icon_url: "http://www.looker.com/favicon.ico"
63 | }
64 | link: {
65 | label: "View in Campaign Manager"
66 | icon_url: "https://seeklogo.com/images/G/google-campaign-manager-logo-03026740FA-seeklogo.com.png"
67 | url: "https://www.google.com/dfa/trafficking/#/accounts/@{CAMPAIGN_MANAGER_ID}/campaigns/{{value}}/explorer?"
68 | }
69 | }
70 |
71 | #match_table_cities
72 | dimension: city_id {
73 | type: string
74 | sql: ${TABLE}.City_ID ;;
75 | }
76 |
77 | dimension: country_code {
78 | map_layer_name: countries
79 | sql: CASE WHEN ${TABLE}.Country_Code = 'UK' THEN 'GB' ELSE ${TABLE}.Country_Code END ;;
80 | drill_fields: [state_region,zip_postal_code]
81 | }
82 |
83 | dimension: creative_version {
84 | type: number
85 | sql: ${TABLE}.Creative_Version ;;
86 | }
87 |
88 | dimension: designated_market_area_dma_id {
89 | type: string
90 | sql: ${TABLE}.Designated_Market_Area_DMA_ID ;;
91 | }
92 |
93 | dimension: event_sub_type {
94 | type: string
95 | sql: ${TABLE}.Event_Sub_Type ;;
96 | }
97 |
98 | dimension_group: event {
99 | type: time
100 | timeframes: [raw, date, hour,week, day_of_week, month, month_name, quarter, year]
101 | datatype: epoch
102 | sql: CAST(${TABLE}.Event_Time/1000000 as INT64) ;;
103 | }
104 |
105 | dimension: event_type {
106 | type: string
107 | sql: ${TABLE}.Event_Type ;;
108 | }
109 |
110 | dimension: operating_system_id {
111 | type: string
112 | sql: ${TABLE}.Operating_System_ID ;;
113 | }
114 |
115 | dimension: operating_system_id_key {
116 | type: number
117 | sql: IF(CAST(${operating_system_id} AS INT64) > 22,
118 | CAST(${operating_system_id} AS INT64),
119 | POWER(2,CAST(${operating_system_id} AS INT64))) ;;
120 |
121 | }
122 |
123 | dimension: partner1_id {
124 | type: string
125 | sql: ${TABLE}.Partner1_ID ;;
126 | }
127 |
128 | dimension: partner2_id {
129 | type: string
130 | sql: ${TABLE}.Partner2_ID ;;
131 | }
132 |
133 | dimension: placement_id {
134 | type: string
135 | sql: ${TABLE}.Placement_ID ;;
136 | }
137 |
138 | dimension: rendering_id {
139 | type: string
140 | sql: ${TABLE}.Rendering_ID ;;
141 | }
142 |
143 | dimension: site_id_dcm {
144 | type: string
145 | sql: ${TABLE}.Site_ID_DCM ;;
146 | }
147 |
148 | dimension: state_region {
149 | map_layer_name: us_states
150 | sql: ${TABLE}.State_Region ;;
151 | drill_fields: [zip_postal_code]
152 | }
153 |
154 | dimension: u_value {
155 | type: string
156 | sql: ${TABLE}.U_Value ;;
157 | }
158 |
159 | dimension: user_id {
160 | type: string
161 | sql: ${TABLE}.User_ID ;;
162 | }
163 |
164 | dimension: zip_postal_code {
165 | type: zipcode
166 | sql: ${TABLE}.ZIP_Postal_Code ;;
167 | map_layer_name: us_zipcode_tabulation_areas
168 | }
169 |
170 |
171 | ### MEASURES
172 |
173 | measure: count_impressions {
174 | type: count_distinct
175 | sql: ${pk} ;;
176 | drill_fields: [campaign_id, site_id_dcm]
177 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
178 | }
179 |
180 | measure: active_view_measurable_impressions {
181 | type: sum
182 | sql: ${TABLE}.Active_View_Measurable_Impressions ;;
183 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
184 | }
185 |
186 | measure: active_view_viewable_impressions {
187 | type: sum
188 | sql: ${TABLE}.Active_View_Viewable_Impressions ;;
189 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
190 | }
191 |
192 | measure: count {
193 | type: count
194 | drill_fields: [match_table_campaigns.campaign_name, site_id_dcm, impressions_per_user]
195 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
196 | }
197 |
198 | measure: distinct_users {
199 | label: "Reach Count"
200 | type: count_distinct
201 | sql: ${user_id} ;;
202 | drill_fields: [match_table_campaigns.campaign_name, site_id_dcm, impressions_per_user]
203 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
204 | }
205 |
206 | measure: reach_percentage {
207 | type: number
208 | sql: 1.0*${distinct_users}/NULLIF(${count},0) ;;
209 | value_format_name: percent_2
210 | }
211 |
212 | measure: average_frequency {
213 | type: number
214 | sql: 1.0*${count}/${distinct_users} ;;
215 | value_format_name: decimal_2
216 | }
217 |
218 | measure: campaign_count {
219 | type: count_distinct
220 | sql: ${campaign_id} ;;
221 | drill_fields: [match_table_campaigns.campaign_name, count, distinct_users, impressions_per_user]
222 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
223 | }
224 |
225 | measure: impressions_per_user {
226 | type: number
227 | sql: ${count_impressions}/NULLIF(${distinct_users},0) ;;
228 | value_format_name: decimal_1
229 | drill_fields: [match_table_campaigns.campaign_name, site_id_dcm]
230 | }
231 |
232 | measure: ad_count {
233 | type: count_distinct
234 | sql: ${ad_id} ;;
235 | drill_fields: [match_table_ads.ad_name, match_table_ads.ad_type, count, distinct_users]
236 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
237 | }
238 |
239 | }
240 |
--------------------------------------------------------------------------------
/dashboards/4_data_health_check.dashboard.lookml:
--------------------------------------------------------------------------------
1 | - dashboard: 4_data_health_check
2 | title: "(4) Data Health Check"
3 | layout: newspaper
4 | preferred_viewer: dashboards-next
5 |
6 | elements:
7 | - name:
8 | User Redactions Health Check
9 | type: text
10 | title_text: User Redactions
12 | Health Check
13 | subtitle_text: What percent of my DCM Data Transfer files have redacted User IDs?
14 | body_text: "
Recommended Action Create conditional alerts to keep\
15 | \ an eye on high redaction rates \U0001f6ce️. Consider calculating redaction\
16 | \ rates by campaign to help understand what campaigns would be omitted in analyses\
17 | \ that require User ID. "
18 | row: 0
19 | col: 0
20 | width: 24
21 | height: 4
22 | - title: Total User IDs
23 | name: Total User IDs
24 | model: campaign_manager_marketplace_v2
25 | explore: data_health_check
26 | type: single_value
27 | fields: [redaction_combined.total_count]
28 | filters: {}
29 | limit: 500
30 | query_timezone: America/Los_Angeles
31 | custom_color_enabled: true
32 | show_single_value_title: true
33 | show_comparison: false
34 | comparison_type: value
35 | comparison_reverse_colors: false
36 | show_comparison_label: true
37 | enable_conditional_formatting: false
38 | conditional_formatting_include_totals: false
39 | conditional_formatting_include_nulls: false
40 | series_types: {}
41 | defaults_version: 1
42 | listen:
43 | Date Range: redaction_combined.partition
44 | File Type: redaction_combined.file_type
45 | row: 4
46 | col: 0
47 | width: 6
48 | height: 2
49 | - title: Total Filled
50 | name: Total Filled
51 | model: campaign_manager_marketplace_v2
52 | explore: data_health_check
53 | type: single_value
54 | fields: [redaction_combined.total_filled]
55 | filters: {}
56 | limit: 500
57 | query_timezone: America/Los_Angeles
58 | custom_color_enabled: true
59 | show_single_value_title: true
60 | show_comparison: false
61 | comparison_type: value
62 | comparison_reverse_colors: false
63 | show_comparison_label: true
64 | enable_conditional_formatting: false
65 | conditional_formatting_include_totals: false
66 | conditional_formatting_include_nulls: false
67 | series_types: {}
68 | defaults_version: 1
69 | listen:
70 | Date Range: redaction_combined.partition
71 | File Type: redaction_combined.file_type
72 | row: 6
73 | col: 0
74 | width: 6
75 | height: 2
76 | - title: Total Redacted
77 | name: Total Redacted
78 | model: campaign_manager_marketplace_v2
79 | explore: data_health_check
80 | type: single_value
81 | fields: [redaction_combined.total_redacted]
82 | filters: {}
83 | limit: 500
84 | query_timezone: America/Los_Angeles
85 | custom_color_enabled: true
86 | show_single_value_title: true
87 | show_comparison: false
88 | comparison_type: value
89 | comparison_reverse_colors: false
90 | show_comparison_label: true
91 | enable_conditional_formatting: false
92 | conditional_formatting_include_totals: false
93 | conditional_formatting_include_nulls: false
94 | series_types: {}
95 | defaults_version: 1
96 | listen:
97 | Date Range: redaction_combined.partition
98 | File Type: redaction_combined.file_type
99 | row: 8
100 | col: 0
101 | width: 6
102 | height: 2
103 | - title: Redaction Rate
104 | name: Redaction Rate
105 | model: campaign_manager_marketplace_v2
106 | explore: data_health_check
107 | type: single_value
108 | fields: [redaction_combined.redaction_rate]
109 | filters: {}
110 | limit: 500
111 | query_timezone: America/Los_Angeles
112 | custom_color_enabled: true
113 | show_single_value_title: true
114 | show_comparison: false
115 | comparison_type: value
116 | comparison_reverse_colors: false
117 | show_comparison_label: true
118 | enable_conditional_formatting: true
119 | conditional_formatting_include_totals: false
120 | conditional_formatting_include_nulls: false
121 | custom_color: "#B32F37"
122 | conditional_formatting: [{type: greater than, value: 0, background_color: "#fce9ec",
123 | font_color: "#B32F37", color_application: {collection_id: b43731d5-dc87-4a8e-b807-635bef3948e7,
124 | palette_id: 85de97da-2ded-4dec-9dbd-e6a7d36d5825}, bold: false, italic: false,
125 | strikethrough: false, fields: !!null ''}]
126 | series_types: {}
127 | defaults_version: 1
128 | listen:
129 | Date Range: redaction_combined.partition
130 | File Type: redaction_combined.file_type
131 | row: 4
132 | col: 6
133 | width: 9
134 | height: 6
135 | - title: Redaction By File Type
136 | name: Redaction By File Type
137 | model: campaign_manager_marketplace_v2
138 | explore: data_health_check
139 | type: looker_pie
140 | fields: [redaction_combined.redaction_rate, redaction_combined.file_type]
141 | filters: {}
142 | sorts: [redaction_combined.redaction_rate desc]
143 | limit: 500
144 | column_limit: 50
145 | value_labels: legend
146 | label_type: labPer
147 | inner_radius: 50
148 | color_application:
149 | collection_id: b43731d5-dc87-4a8e-b807-635bef3948e7
150 | palette_id: ccba75a3-58c7-4b9c-a931-4ffc59e79cba
151 | options:
152 | steps: 5
153 | series_colors:
154 | Activity: "#c2333a"
155 | Impression: "#db6e73"
156 | Click: "#e8a5ad"
157 | custom_color_enabled: true
158 | show_single_value_title: true
159 | show_comparison: false
160 | comparison_type: value
161 | comparison_reverse_colors: false
162 | show_comparison_label: true
163 | enable_conditional_formatting: false
164 | conditional_formatting_include_totals: false
165 | conditional_formatting_include_nulls: false
166 | defaults_version: 1
167 | series_types: {}
168 | x_axis_gridlines: false
169 | y_axis_gridlines: true
170 | show_view_names: false
171 | show_y_axis_labels: true
172 | show_y_axis_ticks: true
173 | y_axis_tick_density: default
174 | y_axis_tick_density_custom: 5
175 | show_x_axis_label: true
176 | show_x_axis_ticks: true
177 | y_axis_scale_mode: linear
178 | x_axis_reversed: false
179 | y_axis_reversed: false
180 | plot_size_by_field: false
181 | trellis: ''
182 | stacking: ''
183 | limit_displayed_rows: false
184 | legend_position: center
185 | point_style: none
186 | show_value_labels: false
187 | label_density: 25
188 | x_axis_scale: auto
189 | y_axis_combined: true
190 | ordering: none
191 | show_null_labels: false
192 | show_totals_labels: false
193 | show_silhouette: false
194 | totals_color: "#808080"
195 | listen:
196 | Date Range: redaction_combined.partition
197 | File Type: redaction_combined.file_type
198 | row: 4
199 | col: 15
200 | width: 9
201 | height: 6
202 | filters:
203 | - name: Date Range
204 | title: Date Range
205 | type: field_filter
206 | default_value: 7 days
207 | allow_multiple_values: true
208 | required: false
209 | model: campaign_manager_marketplace_v2
210 | explore: data_health_check
211 | listens_to_filters: []
212 | field: redaction_combined.partition
213 | - name: File Type
214 | title: File Type
215 | type: field_filter
216 | default_value: ''
217 | allow_multiple_values: true
218 | required: false
219 | ui_config:
220 | type: advanced
221 | display: popover
222 | options: []
223 | model: campaign_manager_marketplace_v2
224 | explore: data_health_check
225 | listens_to_filters: []
226 | field: redaction_combined.file_type
--------------------------------------------------------------------------------
/views/derived_tables/impression_funnel.view.lkml:
--------------------------------------------------------------------------------
1 | view: impression_funnel {
2 | derived_table: {
3 | datagroup_trigger: new_day
4 | sql: select user_impression_metrics.*
5 | , first_click
6 | , latest_click
7 | , count_clicks
8 | , first_activity
9 | , latest_activity
10 | , count_conversions
11 | , count_postview_conversions
12 | , count_postclick_conversions
13 | , revenue
14 | from
15 | (select user_id
16 | , campaign_id
17 | , ad_id
18 | , advertiser_id
19 | , min(zip_postal_code) as zip_code
20 | , min(state_region) as state_region
21 | , min(country_code) as country_code
22 | , min(event_time) as first_impression
23 | , max(event_time) as latest_impression
24 | , count(distinct site_id_dcm) as site_count
25 | , count(*) as count_impressions
26 | from ${impression.SQL_TABLE_NAME}
27 | where user_id <> '' and user_id is not null
28 |
29 | and _PARTITIONTIME > TIMESTAMP(DATE_ADD(CURRENT_DATE, INTERVAL -60 DAY))
30 |
31 | group by 1,2,3,4) as user_impression_metrics
32 |
33 | left join
34 |
35 | (select user_id
36 | , campaign_id
37 | , ad_id
38 | , advertiser_id
39 | , min(event_time) as first_click
40 | , max(event_time) as latest_click
41 | , count(*) as count_clicks
42 | from ${click.SQL_TABLE_NAME}
43 | where user_id <> '' and user_id is not null
44 |
45 | and _PARTITIONTIME > TIMESTAMP(DATE_ADD(CURRENT_DATE, INTERVAL -60 DAY))
46 |
47 | group by 1,2,3,4) as user_click_metrics
48 |
49 | on user_impression_metrics.user_id = user_click_metrics.user_id
50 | and user_impression_metrics.campaign_id = user_click_metrics.campaign_id
51 | and user_impression_metrics.ad_id = user_click_metrics.ad_id
52 | and user_impression_metrics.advertiser_id = user_click_metrics.advertiser_id
53 |
54 |
55 | left join
56 |
57 | (select user_id
58 | , campaign_id
59 | , ad_id
60 | , advertiser_id
61 | , min(event_time) as first_activity
62 | , max(event_time) as latest_activity
63 | , count(*) as count_conversions
64 | , sum(case when event_sub_type = 'POSTVIEW' THEN 1 ELSE 0 END) as count_postview_conversions
65 | , sum(case when event_sub_type = 'POSTCLICK' THEN 1 ELSE 0 END) as count_postclick_conversions
66 | , sum(total_revenue) as revenue
67 | from ${activity.SQL_TABLE_NAME}
68 | where user_id <> '' and user_id is not null
69 | and event_type = 'CONVERSION'
70 |
71 | and _PARTITIONTIME > TIMESTAMP(DATE_ADD(CURRENT_DATE, INTERVAL -60 DAY))
72 |
73 | group by 1,2,3,4) as user_activity_metrics
74 | on user_impression_metrics.user_id = user_activity_metrics.user_id
75 | and user_impression_metrics.campaign_id = user_activity_metrics.campaign_id
76 | and user_impression_metrics.ad_id = user_activity_metrics.ad_id
77 | and user_impression_metrics.advertiser_id = user_activity_metrics.advertiser_id
78 | ;;
79 | }
80 |
81 | dimension: zip_code {
82 | type: zipcode
83 | sql: ${TABLE}.zip_code ;;
84 | }
85 |
86 | dimension: state_region {
87 | map_layer_name: us_states
88 | sql: ${TABLE}.state_region ;;
89 | }
90 |
91 | dimension: country_code {
92 | map_layer_name: countries
93 | sql: ${TABLE}.country_code ;;
94 | }
95 |
96 | dimension: user_id {
97 | type: string
98 | sql: ${TABLE}.user_id ;;
99 | view_label: "Users"
100 | }
101 |
102 | dimension: campaign_id {
103 | type: string
104 | sql: ${TABLE}.campaign_id ;;
105 | view_label: "Campaigns"
106 | }
107 |
108 | dimension: ad_id {
109 | type: string
110 | sql: ${TABLE}.ad_id ;;
111 | view_label: "Ads"
112 | }
113 |
114 | dimension: advertiser_id {
115 | type: string
116 | sql: ${TABLE}.advertiser_id ;;
117 | view_label: "Advertisers"
118 | }
119 |
120 | dimension: creative_version {
121 | type: number
122 | sql: ${TABLE}.creative_version ;;
123 | view_label: "Ads"
124 | }
125 |
126 | dimension_group: first_ad_impression {
127 | type: time
128 | datatype: epoch
129 | sql: cast(${TABLE}.first_impression/1000000 as int64) ;;
130 | timeframes: [raw ,date, week, month, year]
131 | view_label: "Users"
132 | }
133 |
134 | dimension_group: latest_ad_impression {
135 | type: time
136 | datatype: epoch
137 | sql: cast(${TABLE}.latest_impression/1000000 as int64) ;;
138 | timeframes: [date, week, month, year]
139 | view_label: "Users"
140 | }
141 |
142 | dimension: site_count {
143 | type: number
144 | hidden: yes
145 | sql: ${TABLE}.site_count ;;
146 | }
147 |
148 | dimension: count_impressions {
149 | type: number
150 | hidden: yes
151 | sql: ${TABLE}.count_impressions ;;
152 | view_label: "Impressions"
153 | }
154 |
155 | dimension_group: first_ad_click {
156 | type: time
157 | datatype: epoch
158 | sql: cast(${TABLE}.first_click/1000000 as int64) ;;
159 | timeframes: [date, week, month, year]
160 | view_label: "Users"
161 | }
162 |
163 | dimension_group: latest_ad_click {
164 | type: time
165 | datatype: epoch
166 | sql: cast(${TABLE}.latest_click/1000000 as int64) ;;
167 | timeframes: [date, week, month, year]
168 | view_label: "Users"
169 | }
170 |
171 | dimension: count_clicks {
172 | type: number
173 | hidden: yes
174 | sql: ${TABLE}.count_clicks ;;
175 | view_label: "Clicks"
176 | }
177 |
178 | dimension_group: first_ad_activity {
179 | type: time
180 | datatype: epoch
181 | view_label: "Users"
182 | sql: cast(${TABLE}.first_activity/1000000 as int64) ;;
183 | timeframes: [date, week, month, year]
184 | }
185 |
186 | dimension_group: latest_ad_activity {
187 | type: time
188 | datatype: epoch
189 | view_label: "Users"
190 | sql: cast(${TABLE}.latest_activity/1000000 as int64) ;;
191 | timeframes: [date, week, month, year]
192 | }
193 |
194 | dimension: time_to_conversion {
195 | type: number
196 | sql: (${TABLE}.first_activity - ${TABLE}.first_impression)/1000000 ;;
197 | }
198 |
199 | dimension: count_conversions {
200 | type: number
201 | sql: ${TABLE}.count_conversions ;;
202 | }
203 |
204 | dimension: count_postview_conversions {
205 | type: number
206 | sql: ${TABLE}.count_postview_conversions ;;
207 | }
208 |
209 | dimension: count_postclick_conversions {
210 | type: number
211 | sql: ${TABLE}.count_postclick_conversions ;;
212 | }
213 |
214 | dimension: revenue {
215 | type: number
216 | hidden: yes
217 | sql: ${TABLE}.revenue ;;
218 | }
219 |
220 | measure: total_impressions {
221 | type: sum
222 | sql: ${count_impressions} ;;
223 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
224 | }
225 |
226 | measure: total_clicks {
227 | type: sum
228 | sql: ${count_clicks} ;;
229 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
230 | }
231 |
232 | measure: total_conversions {
233 | type: sum
234 | sql: ${count_conversions} ;;
235 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
236 | }
237 |
238 | measure: total_post_view_conversions {
239 | type: sum
240 | sql: ${count_postview_conversions} ;;
241 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
242 | }
243 |
244 | measure: total_post_click_conversions {
245 | type: sum
246 | sql: ${count_postclick_conversions} ;;
247 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
248 | }
249 |
250 | measure: count_users {
251 | type: count_distinct
252 | sql: ${user_id} ;;
253 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
254 | }
255 |
256 | measure: count_users_who_clicked {
257 | type: count_distinct
258 | sql: ${user_id} ;;
259 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
260 |
261 | filters: {
262 | field: first_ad_click_date
263 | value: "-NULL"
264 | }
265 | }
266 |
267 | measure: count_users_converted {
268 | type: count_distinct
269 | sql: ${user_id} ;;
270 | value_format:"[<1000]0.00;[<1000000]0.00,\" K\";0.00,,\" M\""
271 |
272 | filters: {
273 | field: first_ad_activity_date
274 | value: "-NULL"
275 | }
276 | }
277 |
278 | measure: action_rate {
279 | type: number
280 | sql: ${total_conversions}/NULLIF(${total_impressions},0) ;;
281 | value_format_name: decimal_4
282 | description: "Total Conversions/Total Impressions"
283 | }
284 |
285 | measure: action_rate_x_1000 {
286 | type: number
287 | sql: 1000*${action_rate} ;;
288 | value_format_name: decimal_2
289 | description: "1000 * Total Conversions/Total Impressions"
290 | }
291 |
292 | measure: total_revenue {
293 | type: sum
294 | sql: ${revenue} ;;
295 | }
296 |
297 | measure: conversion_rate {
298 | type: number
299 | sql: ${total_post_click_conversions}/NULLIF(${total_clicks},0) ;;
300 | value_format_name: percent_2
301 | description: "Total Post Click Conversions/Total Clicks"
302 | }
303 |
304 | measure: click_through_rate {
305 | type: number
306 | sql: ${total_clicks}/NULLIF(${total_impressions},0) ;;
307 | value_format_name: percent_2
308 | description: "Total Clicks/Total Impressions"
309 | }
310 |
311 | measure: impressions_per_user {
312 | type: number
313 | sql: ${total_impressions}/NULLIF(${count_users},0) ;;
314 | value_format_name: decimal_1
315 | }
316 |
317 | set: detail {
318 | fields: [user_id, campaign_id, ad_id, advertiser_id, creative_version, site_count, count_impressions, count_clicks, count_conversions, total_conversions, revenue]
319 | }
320 | }
321 |
--------------------------------------------------------------------------------
/dashboards/2_top_performers__breakdowns.dashboard.lookml:
--------------------------------------------------------------------------------
1 | - dashboard: 2_top_performers__breakdowns
2 | title: "(2) Top Performers & Breakdowns"
3 | layout: newspaper
4 | preferred_viewer: dashboards-next
5 |
6 | elements:
7 | - title: Top 10 Campaigns
8 | name: Top 10 Campaigns
9 | model: campaign_manager_marketplace_v2
10 | explore: impression
11 | type: looker_bar
12 | fields: [impression.distinct_users, impression.count, impression.campaign_id]
13 | filters:
14 | impression.selected_comparison: "%Last%"
15 | sorts: [impression.distinct_users desc]
16 | limit: 10
17 | column_limit: 50
18 | query_timezone: America/Los_Angeles
19 | x_axis_gridlines: false
20 | y_axis_gridlines: true
21 | show_view_names: false
22 | show_y_axis_labels: true
23 | show_y_axis_ticks: false
24 | y_axis_tick_density: default
25 | y_axis_tick_density_custom: 5
26 | show_x_axis_label: true
27 | show_x_axis_ticks: true
28 | y_axis_scale_mode: linear
29 | x_axis_reversed: false
30 | y_axis_reversed: false
31 | plot_size_by_field: false
32 | trellis: ''
33 | stacking: ''
34 | limit_displayed_rows: false
35 | legend_position: center
36 | point_style: none
37 | show_value_labels: true
38 | label_density: 25
39 | x_axis_scale: ordinal
40 | y_axis_combined: true
41 | ordering: none
42 | show_null_labels: false
43 | show_totals_labels: false
44 | show_silhouette: false
45 | totals_color: "#808080"
46 | color_application:
47 | collection_id: google
48 | palette_id: google-categorical-0
49 | options:
50 | steps: 5
51 | colors: ["#5245ed", "#1ea8df", "#353b49", "#49cec1", "#b3a0dd", "#db7f2a", "#706080",
52 | "#a2dcf3", "#776fdf", "#e9b404", "#635189"]
53 | font_size: '8'
54 | series_types: {}
55 | series_colors:
56 | impression.count: "#4285F4"
57 | impression.distinct_users: "#34A853"
58 | show_null_points: true
59 | interpolation: linear
60 | value_labels: legend
61 | label_type: labPer
62 | map: auto
63 | map_projection: ''
64 | map_plot_mode: points
65 | heatmap_gridlines: false
66 | heatmap_opacity: 0.5
67 | show_region_field: true
68 | draw_map_labels_above_data: true
69 | map_tile_provider: positron
70 | map_position: custom
71 | map_scale_indicator: 'off'
72 | map_pannable: true
73 | map_zoomable: true
74 | map_marker_type: circle
75 | map_marker_icon_name: default
76 | map_marker_radius_mode: proportional_value
77 | map_marker_units: meters
78 | map_marker_proportional_scale_type: linear
79 | map_marker_color_mode: fixed
80 | show_legend: true
81 | quantize_map_value_colors: false
82 | quantize_colors: false
83 | map_latitude: 34.45221847282654
84 | map_longitude: 0.3515625
85 | map_zoom: 2
86 | defaults_version: 1
87 | listen:
88 | Date Range: impression.comparison_type
89 | row: 3
90 | col: 0
91 | width: 8
92 | height: 7
93 | - name:
94 | Top Performers Campaigns, Advertisers
95 | & Sites
96 | type: text
97 | title_text: Top Performers
99 | Campaigns, Advertisers & Sites
100 | subtitle_text: ''
101 | body_text: "Recommended Action \U0001f447 Drill into Campaign IDs\
102 | \ to get a 360 view on how that campaign is performing, or navigate directly\
103 | \ to Campaign Manager for further analysis. "
104 | row: 0
105 | col: 4
106 | width: 16
107 | height: 3
108 | - title: Top 10 Advertisers
109 | name: Top 10 Advertisers
110 | model: campaign_manager_marketplace_v2
111 | explore: impression
112 | type: looker_bar
113 | fields: [impression.distinct_users, impression.count, impression.advertiser_id]
114 | filters:
115 | impression.selected_comparison: "%Last%"
116 | sorts: [impression.distinct_users desc]
117 | limit: 10
118 | column_limit: 50
119 | query_timezone: America/Los_Angeles
120 | x_axis_gridlines: false
121 | y_axis_gridlines: true
122 | show_view_names: false
123 | show_y_axis_labels: true
124 | show_y_axis_ticks: false
125 | y_axis_tick_density: default
126 | y_axis_tick_density_custom: 5
127 | show_x_axis_label: true
128 | show_x_axis_ticks: true
129 | y_axis_scale_mode: linear
130 | x_axis_reversed: false
131 | y_axis_reversed: false
132 | plot_size_by_field: false
133 | trellis: ''
134 | stacking: ''
135 | limit_displayed_rows: false
136 | legend_position: center
137 | point_style: none
138 | show_value_labels: true
139 | label_density: 25
140 | x_axis_scale: ordinal
141 | y_axis_combined: true
142 | ordering: none
143 | show_null_labels: false
144 | show_totals_labels: false
145 | show_silhouette: false
146 | totals_color: "#808080"
147 | color_application:
148 | collection_id: google
149 | palette_id: google-categorical-0
150 | options:
151 | steps: 5
152 | colors: ["#5245ed", "#1ea8df", "#353b49", "#49cec1", "#b3a0dd", "#db7f2a", "#706080",
153 | "#a2dcf3", "#776fdf", "#e9b404", "#635189"]
154 | font_size: '8'
155 | series_types: {}
156 | series_colors:
157 | impression.count: "#4285F4"
158 | impression.distinct_users: "#34A853"
159 | show_null_points: true
160 | interpolation: linear
161 | value_labels: legend
162 | label_type: labPer
163 | map: auto
164 | map_projection: ''
165 | map_plot_mode: points
166 | heatmap_gridlines: false
167 | heatmap_opacity: 0.5
168 | show_region_field: true
169 | draw_map_labels_above_data: true
170 | map_tile_provider: positron
171 | map_position: custom
172 | map_scale_indicator: 'off'
173 | map_pannable: true
174 | map_zoomable: true
175 | map_marker_type: circle
176 | map_marker_icon_name: default
177 | map_marker_radius_mode: proportional_value
178 | map_marker_units: meters
179 | map_marker_proportional_scale_type: linear
180 | map_marker_color_mode: fixed
181 | show_legend: true
182 | quantize_map_value_colors: false
183 | quantize_colors: false
184 | map_latitude: 34.45221847282654
185 | map_longitude: 0.3515625
186 | map_zoom: 2
187 | defaults_version: 1
188 | listen:
189 | Date Range: impression.comparison_type
190 | row: 3
191 | col: 8
192 | width: 8
193 | height: 7
194 | - title: Top 10 Sites
195 | name: Top 10 Sites
196 | model: campaign_manager_marketplace_v2
197 | explore: impression
198 | type: looker_bar
199 | fields: [impression.distinct_users, impression.count, impression.site_id_dcm]
200 | filters:
201 | impression.selected_comparison: "%Last%"
202 | sorts: [impression.distinct_users desc]
203 | limit: 10
204 | column_limit: 50
205 | query_timezone: America/Los_Angeles
206 | x_axis_gridlines: false
207 | y_axis_gridlines: true
208 | show_view_names: false
209 | show_y_axis_labels: true
210 | show_y_axis_ticks: false
211 | y_axis_tick_density: default
212 | y_axis_tick_density_custom: 5
213 | show_x_axis_label: true
214 | show_x_axis_ticks: true
215 | y_axis_scale_mode: linear
216 | x_axis_reversed: false
217 | y_axis_reversed: false
218 | plot_size_by_field: false
219 | trellis: ''
220 | stacking: ''
221 | limit_displayed_rows: false
222 | legend_position: center
223 | point_style: none
224 | show_value_labels: true
225 | label_density: 25
226 | x_axis_scale: ordinal
227 | y_axis_combined: true
228 | ordering: none
229 | show_null_labels: false
230 | show_totals_labels: false
231 | show_silhouette: false
232 | totals_color: "#808080"
233 | color_application:
234 | collection_id: google
235 | palette_id: google-categorical-0
236 | options:
237 | steps: 5
238 | colors: ["#5245ed", "#1ea8df", "#353b49", "#49cec1", "#b3a0dd", "#db7f2a", "#706080",
239 | "#a2dcf3", "#776fdf", "#e9b404", "#635189"]
240 | font_size: '8'
241 | series_types: {}
242 | series_colors:
243 | impression.count: "#4285F4"
244 | impression.distinct_users: "#34A853"
245 | show_null_points: true
246 | interpolation: linear
247 | value_labels: legend
248 | label_type: labPer
249 | map: auto
250 | map_projection: ''
251 | map_plot_mode: points
252 | heatmap_gridlines: false
253 | heatmap_opacity: 0.5
254 | show_region_field: true
255 | draw_map_labels_above_data: true
256 | map_tile_provider: positron
257 | map_position: custom
258 | map_scale_indicator: 'off'
259 | map_pannable: true
260 | map_zoomable: true
261 | map_marker_type: circle
262 | map_marker_icon_name: default
263 | map_marker_radius_mode: proportional_value
264 | map_marker_units: meters
265 | map_marker_proportional_scale_type: linear
266 | map_marker_color_mode: fixed
267 | show_legend: true
268 | quantize_map_value_colors: false
269 | quantize_colors: false
270 | map_latitude: 34.45221847282654
271 | map_longitude: 0.3515625
272 | map_zoom: 2
273 | defaults_version: 1
274 | listen:
275 | Date Range: impression.comparison_type
276 | row: 3
277 | col: 16
278 | width: 8
279 | height: 7
280 | - name: Breakdowns
281 | type: text
282 | title_text: Breakdowns
283 | subtitle_text: ''
284 | body_text: |-
285 |
286 | Recommended Action 👇 Edit the tiles below to create custom classifications based on placement name or campaign tactic. Drill into these metrics to get an additional level of granularity into underlying factors.
287 | row: 10
288 | col: 0
289 | width: 24
290 | height: 3
291 | - title: Breakdown (A)
292 | name: Breakdown (A)
293 | model: campaign_manager_marketplace_v2
294 | explore: impression
295 | type: looker_line
296 | fields: [impression.impressions_per_user, impression.event_date, impression.distinct_users]
297 | fill_fields: [impression.event_date]
298 | filters:
299 | match_table_campaigns.campaign_name: "%P%"
300 | impression.selected_comparison: "%Last%"
301 | sorts: [impression.event_date desc]
302 | limit: 500
303 | column_limit: 50
304 | x_axis_gridlines: false
305 | y_axis_gridlines: true
306 | show_view_names: false
307 | show_y_axis_labels: true
308 | show_y_axis_ticks: true
309 | y_axis_tick_density: default
310 | y_axis_tick_density_custom: 5
311 | show_x_axis_label: true
312 | show_x_axis_ticks: true
313 | y_axis_scale_mode: linear
314 | x_axis_reversed: false
315 | y_axis_reversed: false
316 | plot_size_by_field: false
317 | trellis: ''
318 | stacking: ''
319 | limit_displayed_rows: false
320 | legend_position: center
321 | point_style: circle
322 | show_value_labels: false
323 | label_density: 25
324 | x_axis_scale: auto
325 | y_axis_combined: true
326 | show_null_points: true
327 | interpolation: monotone
328 | y_axes: [{label: '', orientation: left, series: [{axisId: impression.distinct_users,
329 | id: impression.distinct_users, name: Reach Count}], showLabels: true,
330 | showValues: true, unpinAxis: false, tickDensity: default, tickDensityCustom: 5,
331 | type: linear}, {label: !!null '', orientation: right, series: [{axisId: impression.impressions_per_user,
332 | id: impression.impressions_per_user, name: Impressions per User}], showLabels: true,
333 | showValues: true, unpinAxis: false, tickDensity: default, tickDensityCustom: 5,
334 | type: linear}]
335 | series_types:
336 | impression.distinct_users: column
337 | series_colors:
338 | impression.distinct_users: "#4285F4"
339 | impression.impressions_per_user: "#EA4335"
340 | ordering: none
341 | show_null_labels: false
342 | show_totals_labels: false
343 | show_silhouette: false
344 | totals_color: "#808080"
345 | defaults_version: 1
346 | hidden_series: []
347 | listen:
348 | Date Range: impression.comparison_type
349 | row: 13
350 | col: 0
351 | width: 8
352 | height: 6
353 | - title: Breakdown (B)
354 | name: Breakdown (B)
355 | model: campaign_manager_marketplace_v2
356 | explore: impression
357 | type: looker_line
358 | fields: [impression.impressions_per_user, impression.event_date, impression.distinct_users]
359 | fill_fields: [impression.event_date]
360 | filters:
361 | match_table_campaigns.campaign_name: "%RTG%"
362 | impression.selected_comparison: "%Last%"
363 | sorts: [impression.event_date desc]
364 | limit: 500
365 | column_limit: 50
366 | x_axis_gridlines: false
367 | y_axis_gridlines: true
368 | show_view_names: false
369 | show_y_axis_labels: true
370 | show_y_axis_ticks: true
371 | y_axis_tick_density: default
372 | y_axis_tick_density_custom: 5
373 | show_x_axis_label: true
374 | show_x_axis_ticks: true
375 | y_axis_scale_mode: linear
376 | x_axis_reversed: false
377 | y_axis_reversed: false
378 | plot_size_by_field: false
379 | trellis: ''
380 | stacking: ''
381 | limit_displayed_rows: false
382 | legend_position: center
383 | point_style: circle
384 | show_value_labels: false
385 | label_density: 25
386 | x_axis_scale: auto
387 | y_axis_combined: true
388 | show_null_points: true
389 | interpolation: monotone
390 | y_axes: [{label: '', orientation: left, series: [{axisId: impression.distinct_users,
391 | id: impression.distinct_users, name: Distinct Users}], showLabels: true,
392 | showValues: true, unpinAxis: false, tickDensity: default, tickDensityCustom: 5,
393 | type: linear}, {label: !!null '', orientation: right, series: [{axisId: impression.impressions_per_user,
394 | id: impression.impressions_per_user, name: Impressions per User}], showLabels: true,
395 | showValues: true, unpinAxis: false, tickDensity: default, tickDensityCustom: 5,
396 | type: linear}]
397 | series_types:
398 | impression.distinct_users: column
399 | series_colors:
400 | impression.distinct_users: "#4285F4"
401 | impression.impressions_per_user: "#EA4335"
402 | ordering: none
403 | show_null_labels: false
404 | show_totals_labels: false
405 | show_silhouette: false
406 | totals_color: "#808080"
407 | defaults_version: 1
408 | hidden_series: []
409 | listen:
410 | Date Range: impression.comparison_type
411 | row: 13
412 | col: 8
413 | width: 8
414 | height: 6
415 | - title: Breakdown (C)
416 | name: Breakdown (C)
417 | model: campaign_manager_marketplace_v2
418 | explore: impression
419 | type: looker_line
420 | fields: [impression.impressions_per_user, impression.event_date, impression.distinct_users]
421 | fill_fields: [impression.event_date]
422 | filters:
423 | impression.selected_comparison: "%Last%"
424 | match_table_campaigns.campaign_name: "%BRD%"
425 | sorts: [impression.event_date desc]
426 | limit: 500
427 | column_limit: 50
428 | x_axis_gridlines: false
429 | y_axis_gridlines: true
430 | show_view_names: false
431 | show_y_axis_labels: true
432 | show_y_axis_ticks: true
433 | y_axis_tick_density: default
434 | y_axis_tick_density_custom: 5
435 | show_x_axis_label: true
436 | show_x_axis_ticks: true
437 | y_axis_scale_mode: linear
438 | x_axis_reversed: false
439 | y_axis_reversed: false
440 | plot_size_by_field: false
441 | trellis: ''
442 | stacking: ''
443 | limit_displayed_rows: false
444 | legend_position: center
445 | point_style: circle
446 | show_value_labels: false
447 | label_density: 25
448 | x_axis_scale: auto
449 | y_axis_combined: true
450 | show_null_points: true
451 | interpolation: monotone
452 | y_axes: [{label: '', orientation: left, series: [{axisId: impression.distinct_users,
453 | id: impression.distinct_users, name: Distinct Users}], showLabels: true,
454 | showValues: true, unpinAxis: false, tickDensity: default, tickDensityCustom: 5,
455 | type: linear}, {label: !!null '', orientation: right, series: [{axisId: impression.impressions_per_user,
456 | id: impression.impressions_per_user, name: Impressions per User}], showLabels: true,
457 | showValues: true, unpinAxis: false, tickDensity: default, tickDensityCustom: 5,
458 | type: linear}]
459 | series_types:
460 | impression.distinct_users: column
461 | series_colors:
462 | impression.distinct_users: "#4285F4"
463 | impression.impressions_per_user: "#EA4335"
464 | ordering: none
465 | show_null_labels: false
466 | show_totals_labels: false
467 | show_silhouette: false
468 | totals_color: "#808080"
469 | defaults_version: 1
470 | listen:
471 | Date Range: impression.comparison_type
472 | row: 13
473 | col: 16
474 | width: 8
475 | height: 6
476 | - name: ''
477 | type: text
478 | title_text: ''
479 | subtitle_text: ''
480 | body_text: |-
481 |
482 |
483 | ⬅︎ Go to Reach Overview Dashboard
484 |
485 |
486 | row: 0
487 | col: 0
488 | width: 4
489 | height: 3
490 | filters:
491 | - name: Date Range
492 | title: Date Range
493 | type: field_filter
494 | default_value: seven
495 | allow_multiple_values: true
496 | required: false
497 | ui_config:
498 | type: dropdown_menu
499 | display: inline
500 | options:
501 | - seven
502 | - fourteen
503 | - thirty
504 | model: campaign_manager_marketplace_v2
505 | explore: impression
506 | listens_to_filters: []
507 | field: impression.comparison_type
--------------------------------------------------------------------------------
/dashboards/3_campaign_overview.dashboard.lookml:
--------------------------------------------------------------------------------
1 | - dashboard: 3_campaign_overview
2 | title: "(3) Campaign Overview"
3 | layout: newspaper
4 | preferred_viewer: dashboards-next
5 |
6 | elements:
7 | - title: Campaign Metrics
8 | name: Campaign Metrics
9 | model: campaign_manager_marketplace_v2
10 | explore: impression_funnel
11 | type: looker_grid
12 | fields: [impression_funnel.campaign_id, match_table_campaigns.campaign_start_date,
13 | match_table_campaigns.campaign_end_date, impression_funnel.advertiser_id, match_table_ads.ad_type,
14 | impression_funnel.ad_id]
15 | sorts: [match_table_campaigns.campaign_start_date desc]
16 | limit: 500
17 | column_limit: 50
18 | query_timezone: America/Los_Angeles
19 | show_view_names: false
20 | show_row_numbers: true
21 | transpose: false
22 | truncate_text: true
23 | hide_totals: false
24 | hide_row_totals: false
25 | size_to_fit: true
26 | table_theme: editable
27 | limit_displayed_rows: false
28 | enable_conditional_formatting: false
29 | header_text_alignment: left
30 | header_font_size: '12'
31 | rows_font_size: '12'
32 | conditional_formatting_include_totals: false
33 | conditional_formatting_include_nulls: false
34 | show_sql_query_menu_options: false
35 | show_totals: true
36 | show_row_totals: true
37 | header_font_color: "#ffffff"
38 | header_background_color: "#4285F4"
39 | truncate_column_names: false
40 | custom_color_enabled: false
41 | custom_color: forestgreen
42 | show_single_value_title: true
43 | show_comparison: false
44 | comparison_type: value
45 | comparison_reverse_colors: false
46 | show_comparison_label: true
47 | stacking: ''
48 | show_value_labels: true
49 | label_density: 25
50 | legend_position: center
51 | x_axis_gridlines: false
52 | y_axis_gridlines: true
53 | y_axis_combined: true
54 | show_y_axis_labels: true
55 | show_y_axis_ticks: true
56 | y_axis_tick_density: default
57 | y_axis_tick_density_custom: 5
58 | show_x_axis_label: true
59 | show_x_axis_ticks: true
60 | x_axis_scale: auto
61 | y_axis_scale_mode: linear
62 | ordering: none
63 | show_null_labels: false
64 | show_totals_labels: false
65 | show_silhouette: false
66 | totals_color: "#808080"
67 | show_null_points: true
68 | point_style: none
69 | interpolation: linear
70 | series_types: {}
71 | colors: ["#5245ed", "#353b49", "#49cec1", "#b3a0dd", "#db7f2a", "#706080", "#a2dcf3",
72 | "#776fdf", "#e9b404", "#635189"]
73 | series_colors: {}
74 | defaults_version: 1
75 | listen:
76 | Campaign ID: impression_funnel.campaign_id
77 | row: 6
78 | col: 0
79 | width: 17
80 | height: 6
81 | - title: Daily Campaign Impression Metrics
82 | name: Daily Campaign Impression Metrics
83 | model: campaign_manager_marketplace_v2
84 | explore: impression
85 | type: looker_column
86 | fields: [impression.distinct_users, impression.event_date, impression.count]
87 | sorts: [impression.event_date]
88 | limit: 1000
89 | column_limit: 50
90 | query_timezone: America/Los_Angeles
91 | x_axis_gridlines: false
92 | y_axis_gridlines: true
93 | show_view_names: false
94 | show_y_axis_labels: true
95 | show_y_axis_ticks: true
96 | y_axis_tick_density: default
97 | y_axis_tick_density_custom: 5
98 | show_x_axis_label: true
99 | show_x_axis_ticks: true
100 | y_axis_scale_mode: linear
101 | x_axis_reversed: false
102 | y_axis_reversed: false
103 | plot_size_by_field: false
104 | trellis: ''
105 | stacking: ''
106 | limit_displayed_rows: false
107 | legend_position: center
108 | point_style: none
109 | show_value_labels: false
110 | label_density: 25
111 | x_axis_scale: ordinal
112 | y_axis_combined: true
113 | ordering: none
114 | show_null_labels: false
115 | show_totals_labels: false
116 | show_silhouette: false
117 | totals_color: "#808080"
118 | color_application:
119 | collection_id: google
120 | palette_id: google-categorical-0
121 | options:
122 | steps: 5
123 | colors: ["#5245ed", "#1ea8df", "#353b49", "#49cec1", "#b3a0dd", "#db7f2a", "#706080",
124 | "#a2dcf3", "#776fdf", "#e9b404", "#635189"]
125 | series_types: {}
126 | series_colors:
127 | impression.count: "#4285F4"
128 | impression.distinct_users: "#34A853"
129 | series_labels:
130 | impression.distinct_users: Users
131 | show_null_points: true
132 | interpolation: linear
133 | value_labels: legend
134 | label_type: labPer
135 | map: auto
136 | map_projection: ''
137 | map_plot_mode: points
138 | heatmap_gridlines: false
139 | heatmap_opacity: 0.5
140 | show_region_field: true
141 | draw_map_labels_above_data: true
142 | map_tile_provider: positron
143 | map_position: custom
144 | map_scale_indicator: 'off'
145 | map_pannable: true
146 | map_zoomable: true
147 | map_marker_type: circle
148 | map_marker_icon_name: default
149 | map_marker_radius_mode: proportional_value
150 | map_marker_units: meters
151 | map_marker_proportional_scale_type: linear
152 | map_marker_color_mode: fixed
153 | show_legend: true
154 | quantize_map_value_colors: false
155 | quantize_colors: false
156 | map_latitude: 34.45221847282654
157 | map_longitude: 0.3515625
158 | map_zoom: 2
159 | defaults_version: 1
160 | listen:
161 | Campaign ID: impression.campaign_id
162 | row: 12
163 | col: 0
164 | width: 24
165 | height: 6
166 | - title: Campaign Click Through Rate
167 | name: Campaign Click Through Rate
168 | model: campaign_manager_marketplace_v2_marketplace
169 | explore: impression_funnel
170 | type: single_value
171 | fields: [impression_funnel.click_through_rate]
172 | sorts: [impression_funnel.click_through_rate desc]
173 | limit: 500
174 | column_limit: 50
175 | query_timezone: America/Los_Angeles
176 | custom_color_enabled: false
177 | custom_color: forestgreen
178 | show_single_value_title: true
179 | show_comparison: false
180 | comparison_type: value
181 | comparison_reverse_colors: false
182 | show_comparison_label: true
183 | stacking: ''
184 | show_value_labels: false
185 | label_density: 25
186 | legend_position: center
187 | x_axis_gridlines: false
188 | y_axis_gridlines: true
189 | show_view_names: true
190 | limit_displayed_rows: false
191 | y_axis_combined: true
192 | show_y_axis_labels: true
193 | show_y_axis_ticks: true
194 | y_axis_tick_density: default
195 | y_axis_tick_density_custom: 5
196 | show_x_axis_label: true
197 | show_x_axis_ticks: true
198 | x_axis_scale: auto
199 | y_axis_scale_mode: linear
200 | show_null_points: true
201 | point_style: none
202 | interpolation: linear
203 | series_types: {}
204 | listen:
205 | Campaign ID: impression_funnel.campaign_id
206 | row: 4
207 | col: 18
208 | width: 6
209 | height: 2
210 | - title: Campaign Conversion Rate
211 | name: Campaign Conversion Rate
212 | model: campaign_manager_marketplace_v2
213 | explore: impression_funnel
214 | type: single_value
215 | fields: [impression_funnel.conversion_rate]
216 | sorts: [impression_funnel.conversion_rate desc]
217 | limit: 500
218 | column_limit: 50
219 | query_timezone: America/Los_Angeles
220 | custom_color_enabled: false
221 | custom_color: forestgreen
222 | show_single_value_title: true
223 | show_comparison: false
224 | comparison_type: value
225 | comparison_reverse_colors: false
226 | show_comparison_label: true
227 | stacking: ''
228 | show_value_labels: false
229 | label_density: 25
230 | legend_position: center
231 | x_axis_gridlines: false
232 | y_axis_gridlines: true
233 | show_view_names: true
234 | limit_displayed_rows: false
235 | y_axis_combined: true
236 | show_y_axis_labels: true
237 | show_y_axis_ticks: true
238 | y_axis_tick_density: default
239 | y_axis_tick_density_custom: 5
240 | show_x_axis_label: true
241 | show_x_axis_ticks: true
242 | x_axis_scale: auto
243 | y_axis_scale_mode: linear
244 | show_null_points: true
245 | point_style: none
246 | interpolation: linear
247 | series_types: {}
248 | listen:
249 | Campaign ID: impression_funnel.campaign_id
250 | row: 2
251 | col: 18
252 | width: 6
253 | height: 2
254 | - title: Impression Funnel
255 | name: Impression Funnel
256 | model: campaign_manager_marketplace_v2
257 | explore: impression_funnel
258 | type: looker_column
259 | fields: [impression_funnel.total_impressions, impression_funnel.total_clicks,
260 | impression_funnel.total_conversions]
261 | sorts: [impression_funnel.total_impressions desc]
262 | limit: 500
263 | column_limit: 50
264 | query_timezone: America/Los_Angeles
265 | x_axis_gridlines: false
266 | y_axis_gridlines: true
267 | show_view_names: false
268 | show_y_axis_labels: true
269 | show_y_axis_ticks: true
270 | y_axis_tick_density: default
271 | y_axis_tick_density_custom: 5
272 | show_x_axis_label: true
273 | show_x_axis_ticks: true
274 | y_axis_scale_mode: linear
275 | x_axis_reversed: false
276 | y_axis_reversed: false
277 | plot_size_by_field: false
278 | trellis: ''
279 | stacking: ''
280 | limit_displayed_rows: false
281 | legend_position: center
282 | point_style: none
283 | show_value_labels: true
284 | label_density: 25
285 | x_axis_scale: auto
286 | y_axis_combined: true
287 | ordering: none
288 | show_null_labels: false
289 | show_totals_labels: false
290 | show_silhouette: false
291 | totals_color: "#808080"
292 | color_application:
293 | collection_id: google
294 | palette_id: google-categorical-0
295 | options:
296 | steps: 5
297 | y_axes: [{label: '', orientation: bottom, series: [{axisId: impression_funnel.total_impressions,
298 | id: impression_funnel.total_impressions, name: Total Impressions}, {axisId: impression_funnel.total_conversions,
299 | id: impression_funnel.total_conversions, name: Total Conversions}, {axisId: impression_funnel.total_clicks,
300 | id: impression_funnel.total_clicks, name: Total Clicks}], showLabels: true,
301 | showValues: true, unpinAxis: false, tickDensity: default, tickDensityCustom: 5,
302 | type: linear}]
303 | hidden_series: []
304 | colors: ["#5245ed", "#353b49", "#49cec1", "#b3a0dd", "#db7f2a", "#706080", "#a2dcf3",
305 | "#776fdf", "#e9b404", "#635189"]
306 | series_types: {}
307 | series_colors: {}
308 | leftAxisLabelVisible: false
309 | leftAxisLabel: ''
310 | rightAxisLabelVisible: false
311 | rightAxisLabel: ''
312 | smoothedBars: false
313 | orientation: automatic
314 | labelScale: ''
315 | labelPosition: left
316 | percentType: total
317 | percentPosition: inline
318 | valuePosition: right
319 | labelColorEnabled: false
320 | labelColor: "#FFF"
321 | custom_color_enabled: false
322 | custom_color: forestgreen
323 | show_single_value_title: true
324 | show_comparison: false
325 | comparison_type: value
326 | comparison_reverse_colors: false
327 | show_comparison_label: true
328 | show_null_points: true
329 | interpolation: linear
330 | defaults_version: 1
331 | listen:
332 | Campaign ID: impression_funnel.campaign_id
333 | row: 18
334 | col: 11
335 | width: 13
336 | height: 8
337 | - title: Distinct Users Reached
338 | name: Distinct Users Reached
339 | model: campaign_manager_marketplace_v2
340 | explore: impression
341 | type: single_value
342 | fields: [impression.distinct_users]
343 | sorts: [impression.distinct_users desc]
344 | limit: 1000
345 | column_limit: 50
346 | query_timezone: America/Los_Angeles
347 | custom_color_enabled: false
348 | custom_color: forestgreen
349 | show_single_value_title: true
350 | show_comparison: false
351 | comparison_type: value
352 | comparison_reverse_colors: false
353 | show_comparison_label: true
354 | stacking: ''
355 | show_value_labels: false
356 | label_density: 25
357 | legend_position: center
358 | x_axis_gridlines: false
359 | y_axis_gridlines: true
360 | show_view_names: false
361 | limit_displayed_rows: false
362 | y_axis_combined: true
363 | show_y_axis_labels: true
364 | show_y_axis_ticks: true
365 | y_axis_tick_density: default
366 | y_axis_tick_density_custom: 5
367 | show_x_axis_label: true
368 | show_x_axis_ticks: true
369 | x_axis_scale: ordinal
370 | y_axis_scale_mode: linear
371 | ordering: none
372 | show_null_labels: false
373 | show_totals_labels: false
374 | show_silhouette: false
375 | totals_color: "#808080"
376 | show_null_points: true
377 | point_style: none
378 | interpolation: linear
379 | value_labels: legend
380 | label_type: labPer
381 | map: auto
382 | map_projection: ''
383 | map_plot_mode: points
384 | heatmap_gridlines: false
385 | heatmap_opacity: 0.5
386 | show_region_field: true
387 | draw_map_labels_above_data: true
388 | map_tile_provider: positron
389 | map_position: custom
390 | map_scale_indicator: 'off'
391 | map_pannable: true
392 | map_zoomable: true
393 | map_marker_type: circle
394 | map_marker_icon_name: default
395 | map_marker_radius_mode: proportional_value
396 | map_marker_units: meters
397 | map_marker_proportional_scale_type: linear
398 | map_marker_color_mode: fixed
399 | show_legend: true
400 | quantize_map_value_colors: false
401 | quantize_colors: false
402 | series_types: {}
403 | map_latitude: 34.45221847282654
404 | map_longitude: 0.3515625
405 | map_zoom: 2
406 | colors: ["#5245ed", "#1ea8df", "#353b49", "#49cec1", "#b3a0dd", "#db7f2a", "#706080",
407 | "#a2dcf3", "#776fdf", "#e9b404", "#635189"]
408 | series_colors: {}
409 | series_labels:
410 | impression.distinct_users: Users
411 | listen:
412 | Campaign ID: impression.campaign_id
413 | row: 2
414 | col: 0
415 | width: 6
416 | height: 2
417 | - title: Campaign Country Reach
418 | name: Campaign Country Reach
419 | model: campaign_manager_marketplace_v2
420 | explore: impression_funnel
421 | type: looker_map
422 | fields: [impression_funnel.total_impressions, impression_funnel.country_code]
423 | sorts: [impression_funnel.total_impressions desc]
424 | limit: 500
425 | column_limit: 50
426 | query_timezone: America/Los_Angeles
427 | map_plot_mode: points
428 | heatmap_gridlines: false
429 | heatmap_opacity: 0.5
430 | show_region_field: true
431 | draw_map_labels_above_data: true
432 | map_tile_provider: positron
433 | map_position: custom
434 | map_scale_indicator: 'off'
435 | map_pannable: true
436 | map_zoomable: true
437 | map_marker_type: circle
438 | map_marker_icon_name: default
439 | map_marker_radius_mode: proportional_value
440 | map_marker_units: meters
441 | map_marker_proportional_scale_type: linear
442 | map_marker_color_mode: fixed
443 | show_view_names: true
444 | show_legend: true
445 | quantize_map_value_colors: false
446 | map: auto
447 | map_projection: ''
448 | quantize_colors: false
449 | custom_color_enabled: false
450 | custom_color: forestgreen
451 | show_single_value_title: true
452 | show_comparison: false
453 | comparison_type: value
454 | comparison_reverse_colors: false
455 | show_comparison_label: true
456 | value_labels: legend
457 | label_type: labPer
458 | stacking: ''
459 | show_value_labels: false
460 | label_density: 25
461 | legend_position: center
462 | x_axis_gridlines: false
463 | y_axis_gridlines: true
464 | limit_displayed_rows: false
465 | y_axis_combined: true
466 | show_y_axis_labels: true
467 | show_y_axis_ticks: true
468 | y_axis_tick_density: default
469 | y_axis_tick_density_custom: 5
470 | show_x_axis_label: true
471 | show_x_axis_ticks: true
472 | x_axis_scale: auto
473 | y_axis_scale_mode: linear
474 | ordering: none
475 | show_null_labels: false
476 | show_totals_labels: false
477 | show_silhouette: false
478 | totals_color: "#808080"
479 | series_types: {}
480 | map_latitude: 42.795884236472936
481 | map_longitude: -9.108910891089112
482 | map_zoom: 2
483 | map_value_scale_clamp_min: 0
484 | map_value_scale_clamp_max: 10000
485 | listen:
486 | Campaign ID: impression_funnel.campaign_id
487 | row: 43
488 | col: 0
489 | width: 24
490 | height: 14
491 | - title: Ad Breakdown
492 | name: Ad Breakdown
493 | model: campaign_manager_marketplace_v2
494 | explore: impression
495 | type: looker_pie
496 | fields: [impression.count, match_table_ads.ad_name]
497 | sorts: [match_table_ads.ad_name]
498 | limit: 50
499 | column_limit: 50
500 | query_timezone: America/Los_Angeles
501 | value_labels: none
502 | label_type: labPer
503 | inner_radius: 40
504 | colors: ["#5245ed", "#1ea8df", "#353b49", "#49cec1", "#b3a0dd", "#db7f2a", "#706080",
505 | "#a2dcf3", "#776fdf", "#e9b404", "#635189"]
506 | color_application:
507 | collection_id: google
508 | palette_id: google-sequential-0
509 | options:
510 | steps: 5
511 | series_colors: {}
512 | series_labels:
513 | impression.distinct_users: Users
514 | show_view_names: false
515 | stacking: ''
516 | show_value_labels: false
517 | label_density: 25
518 | legend_position: center
519 | x_axis_gridlines: false
520 | y_axis_gridlines: true
521 | limit_displayed_rows: false
522 | y_axis_combined: true
523 | show_y_axis_labels: true
524 | show_y_axis_ticks: true
525 | y_axis_tick_density: default
526 | y_axis_tick_density_custom: 5
527 | show_x_axis_label: true
528 | show_x_axis_ticks: true
529 | x_axis_scale: ordinal
530 | y_axis_scale_mode: linear
531 | ordering: none
532 | show_null_labels: false
533 | show_totals_labels: false
534 | show_silhouette: false
535 | totals_color: "#808080"
536 | show_null_points: true
537 | point_style: none
538 | interpolation: linear
539 | map: auto
540 | map_projection: ''
541 | map_plot_mode: points
542 | heatmap_gridlines: false
543 | heatmap_opacity: 0.5
544 | show_region_field: true
545 | draw_map_labels_above_data: true
546 | map_tile_provider: positron
547 | map_position: custom
548 | map_scale_indicator: 'off'
549 | map_pannable: true
550 | map_zoomable: true
551 | map_marker_type: circle
552 | map_marker_icon_name: default
553 | map_marker_radius_mode: proportional_value
554 | map_marker_units: meters
555 | map_marker_proportional_scale_type: linear
556 | map_marker_color_mode: fixed
557 | show_legend: true
558 | quantize_map_value_colors: false
559 | quantize_colors: false
560 | series_types: {}
561 | map_latitude: 34.45221847282654
562 | map_longitude: 0.3515625
563 | map_zoom: 2
564 | defaults_version: 1
565 | listen:
566 | Campaign ID: impression.campaign_id
567 | row: 6
568 | col: 17
569 | width: 7
570 | height: 6
571 | - title: Impressions, Clicks and Conversions by First Impression Date
572 | name: Impressions, Clicks and Conversions by First Impression Date
573 | model: campaign_manager_marketplace_v2
574 | explore: impression_funnel
575 | type: looker_line
576 | fields: [impression_funnel.total_impressions, impression_funnel.total_conversions,
577 | impression_funnel.total_clicks, impression_funnel.first_ad_impression_date]
578 | sorts: [impression_funnel.first_ad_impression_date desc]
579 | limit: 500
580 | column_limit: 50
581 | query_timezone: America/Los_Angeles
582 | x_axis_gridlines: false
583 | y_axis_gridlines: true
584 | show_view_names: false
585 | show_y_axis_labels: true
586 | show_y_axis_ticks: true
587 | y_axis_tick_density: default
588 | y_axis_tick_density_custom: 5
589 | show_x_axis_label: true
590 | show_x_axis_ticks: true
591 | y_axis_scale_mode: linear
592 | x_axis_reversed: false
593 | y_axis_reversed: false
594 | plot_size_by_field: false
595 | trellis: ''
596 | stacking: ''
597 | limit_displayed_rows: false
598 | legend_position: center
599 | point_style: circle
600 | show_value_labels: false
601 | label_density: 25
602 | x_axis_scale: auto
603 | y_axis_combined: false
604 | show_null_points: true
605 | interpolation: linear
606 | color_application:
607 | collection_id: google
608 | palette_id: google-categorical-0
609 | options:
610 | steps: 5
611 | y_axis_labels: []
612 | colors: ["#5245ed", "#1ea8df", "#353b49", "#49cec1", "#b3a0dd", "#db7f2a", "#706080",
613 | "#a2dcf3", "#776fdf", "#e9b404", "#635189"]
614 | series_types: {}
615 | series_colors: {}
616 | series_point_styles:
617 | impression_funnel.total_impressions: diamond
618 | impression_funnel.total_conversions: diamond
619 | impression_funnel.total_clicks: diamond
620 | y_axis_orientation: [left, right, right]
621 | ordering: none
622 | show_null_labels: false
623 | show_totals_labels: false
624 | show_silhouette: false
625 | totals_color: "#808080"
626 | defaults_version: 1
627 | listen:
628 | Campaign ID: impression_funnel.campaign_id
629 | row: 18
630 | col: 0
631 | width: 11
632 | height: 8
633 | - title: Action Rate
634 | name: Action Rate
635 | model: campaign_manager_marketplace_v2
636 | explore: impression_funnel
637 | type: single_value
638 | fields: [impression_funnel.action_rate]
639 | sorts: [impression_funnel.action_rate desc]
640 | limit: 500
641 | column_limit: 50
642 | query_timezone: America/Los_Angeles
643 | custom_color_enabled: false
644 | custom_color: forestgreen
645 | show_single_value_title: true
646 | show_comparison: false
647 | comparison_type: value
648 | comparison_reverse_colors: false
649 | show_comparison_label: true
650 | stacking: ''
651 | show_value_labels: false
652 | label_density: 25
653 | legend_position: center
654 | x_axis_gridlines: false
655 | y_axis_gridlines: true
656 | show_view_names: true
657 | limit_displayed_rows: false
658 | y_axis_combined: true
659 | show_y_axis_labels: true
660 | show_y_axis_ticks: true
661 | y_axis_tick_density: default
662 | y_axis_tick_density_custom: 5
663 | show_x_axis_label: true
664 | show_x_axis_ticks: true
665 | x_axis_scale: auto
666 | y_axis_scale_mode: linear
667 | ordering: none
668 | show_null_labels: false
669 | show_totals_labels: false
670 | show_silhouette: false
671 | totals_color: "#808080"
672 | series_types: {}
673 | value_format: 00.00%
674 | listen:
675 | Campaign ID: impression_funnel.campaign_id
676 | row: 2
677 | col: 12
678 | width: 6
679 | height: 2
680 | - title: Clicks
681 | name: Clicks
682 | model: campaign_manager_marketplace_v2
683 | explore: click
684 | type: single_value
685 | fields: [click.count]
686 | sorts: [click.count desc]
687 | limit: 500
688 | column_limit: 50
689 | query_timezone: America/Los_Angeles
690 | custom_color_enabled: false
691 | custom_color: forestgreen
692 | show_single_value_title: true
693 | show_comparison: false
694 | comparison_type: value
695 | comparison_reverse_colors: false
696 | show_comparison_label: true
697 | stacking: ''
698 | show_value_labels: false
699 | label_density: 25
700 | legend_position: center
701 | x_axis_gridlines: false
702 | y_axis_gridlines: true
703 | show_view_names: true
704 | limit_displayed_rows: false
705 | y_axis_combined: true
706 | show_y_axis_labels: true
707 | show_y_axis_ticks: true
708 | y_axis_tick_density: default
709 | y_axis_tick_density_custom: 5
710 | show_x_axis_label: true
711 | show_x_axis_ticks: true
712 | x_axis_scale: auto
713 | y_axis_scale_mode: linear
714 | ordering: none
715 | show_null_labels: false
716 | show_totals_labels: false
717 | show_silhouette: false
718 | totals_color: "#808080"
719 | series_types: {}
720 | listen:
721 | Campaign ID: click.campaign_id
722 | row: 4
723 | col: 6
724 | width: 6
725 | height: 2
726 | - title: Total Conversions
727 | name: Total Conversions
728 | model: campaign_manager_marketplace_v2
729 | explore: impression_funnel
730 | type: single_value
731 | fields: [impression_funnel.total_conversions]
732 | sorts: [impression_funnel.total_conversions desc]
733 | limit: 500
734 | column_limit: 50
735 | query_timezone: America/Los_Angeles
736 | custom_color_enabled: false
737 | custom_color: forestgreen
738 | show_single_value_title: true
739 | show_comparison: false
740 | comparison_type: value
741 | comparison_reverse_colors: false
742 | show_comparison_label: true
743 | stacking: ''
744 | show_value_labels: false
745 | label_density: 25
746 | legend_position: center
747 | x_axis_gridlines: false
748 | y_axis_gridlines: true
749 | show_view_names: true
750 | limit_displayed_rows: false
751 | y_axis_combined: true
752 | show_y_axis_labels: true
753 | show_y_axis_ticks: true
754 | y_axis_tick_density: default
755 | y_axis_tick_density_custom: 5
756 | show_x_axis_label: true
757 | show_x_axis_ticks: true
758 | x_axis_scale: auto
759 | y_axis_scale_mode: linear
760 | ordering: none
761 | show_null_labels: false
762 | show_totals_labels: false
763 | show_silhouette: false
764 | totals_color: "#808080"
765 | series_types: {}
766 | listen:
767 | Campaign ID: impression_funnel.campaign_id
768 | row: 4
769 | col: 12
770 | width: 6
771 | height: 2
772 | - title: Impressions
773 | name: Impressions
774 | model: campaign_manager_marketplace_v2
775 | explore: impression
776 | type: single_value
777 | fields: [impression.count_impressions]
778 | sorts: [impression.count_impressions desc]
779 | limit: 500
780 | column_limit: 50
781 | query_timezone: America/Los_Angeles
782 | custom_color_enabled: false
783 | custom_color: forestgreen
784 | show_single_value_title: true
785 | show_comparison: false
786 | comparison_type: value
787 | comparison_reverse_colors: false
788 | show_comparison_label: true
789 | value_labels: legend
790 | label_type: labPer
791 | show_view_names: true
792 | stacking: ''
793 | show_value_labels: false
794 | label_density: 25
795 | legend_position: center
796 | x_axis_gridlines: false
797 | y_axis_gridlines: true
798 | limit_displayed_rows: false
799 | y_axis_combined: true
800 | show_y_axis_labels: true
801 | show_y_axis_ticks: true
802 | y_axis_tick_density: default
803 | y_axis_tick_density_custom: 5
804 | show_x_axis_label: true
805 | show_x_axis_ticks: true
806 | x_axis_scale: auto
807 | y_axis_scale_mode: linear
808 | ordering: none
809 | show_null_labels: false
810 | show_totals_labels: false
811 | show_silhouette: false
812 | totals_color: "#808080"
813 | series_types: {}
814 | colors: 'palette: Santa Cruz'
815 | value_format: 0.000,," M"
816 | listen:
817 | Campaign ID: impression.campaign_id
818 | row: 4
819 | col: 0
820 | width: 6
821 | height: 2
822 | - title: Trending Action and Conversion Rates
823 | name: Trending Action and Conversion Rates
824 | model: campaign_manager_marketplace_v2
825 | explore: impression_funnel
826 | type: looker_line
827 | fields: [impression_funnel.first_ad_impression_date, impression_funnel.conversion_rate,
828 | impression_funnel.action_rate, impression_funnel.count_users, impression_funnel.total_impressions,
829 | impression_funnel.total_conversions, impression_funnel.total_clicks]
830 | sorts: [impression_funnel.first_ad_impression_date desc]
831 | limit: 500
832 | column_limit: 50
833 | query_timezone: America/Los_Angeles
834 | x_axis_gridlines: false
835 | y_axis_gridlines: true
836 | show_view_names: false
837 | show_y_axis_labels: true
838 | show_y_axis_ticks: true
839 | y_axis_tick_density: default
840 | y_axis_tick_density_custom: 5
841 | show_x_axis_label: true
842 | show_x_axis_ticks: true
843 | y_axis_scale_mode: linear
844 | x_axis_reversed: false
845 | y_axis_reversed: false
846 | plot_size_by_field: false
847 | trellis: ''
848 | stacking: ''
849 | limit_displayed_rows: false
850 | legend_position: center
851 | point_style: none
852 | show_value_labels: false
853 | label_density: 25
854 | x_axis_scale: auto
855 | y_axis_combined: false
856 | show_null_points: true
857 | interpolation: linear
858 | color_application:
859 | collection_id: google
860 | palette_id: google-categorical-0
861 | options:
862 | steps: 5
863 | y_axis_labels: []
864 | hide_legend: true
865 | colors: ["#5245ed", "#1ea8df", "#353b49", "#49cec1", "#b3a0dd", "#db7f2a", "#706080",
866 | "#a2dcf3", "#776fdf", "#e9b404", "#635189"]
867 | series_types:
868 | impression_funnel.count_users: column
869 | series_colors:
870 | impression_funnel.count_users: "#34A853"
871 | y_axis_orientation: [right, right]
872 | ordering: none
873 | show_null_labels: false
874 | show_totals_labels: false
875 | show_silhouette: false
876 | totals_color: "#808080"
877 | hidden_fields: [impression_funnel.total_impressions, impression_funnel.total_conversions,
878 | impression_funnel.total_clicks]
879 | defaults_version: 1
880 | listen:
881 | Campaign ID: impression_funnel.campaign_id
882 | row: 26
883 | col: 0
884 | width: 24
885 | height: 9
886 | - title: Count Users by Ad and First Impression Date
887 | name: Count Users by Ad and First Impression Date
888 | model: campaign_manager_marketplace_v2
889 | explore: impression_funnel
890 | type: looker_line
891 | fields: [impression_funnel.first_ad_impression_date, impression_funnel.count_users,
892 | match_table_ads.ad_name]
893 | pivots: [match_table_ads.ad_name]
894 | sorts: [impression_funnel.first_ad_impression_date desc, match_table_ads.ad_name]
895 | limit: 500
896 | column_limit: 50
897 | query_timezone: America/Los_Angeles
898 | x_axis_gridlines: false
899 | y_axis_gridlines: true
900 | show_view_names: false
901 | show_y_axis_labels: true
902 | show_y_axis_ticks: true
903 | y_axis_tick_density: default
904 | y_axis_tick_density_custom: 5
905 | show_x_axis_label: true
906 | show_x_axis_ticks: true
907 | y_axis_scale_mode: linear
908 | x_axis_reversed: false
909 | y_axis_reversed: false
910 | plot_size_by_field: false
911 | trellis: ''
912 | stacking: ''
913 | limit_displayed_rows: false
914 | legend_position: right
915 | point_style: none
916 | show_value_labels: false
917 | label_density: 25
918 | x_axis_scale: auto
919 | y_axis_combined: true
920 | show_null_points: true
921 | interpolation: monotone
922 | color_application:
923 | collection_id: google
924 | palette_id: google-categorical-0
925 | options:
926 | steps: 5
927 | reverse: true
928 | colors: ['palette: Santa Cruz']
929 | series_types: {}
930 | series_colors:
931 | " Tracking Ad 1x1 Flashtalking https://www.xfinity.com/ET - impression_funnel.count_users": "#c0edd5"
932 | ? 160 x 600 1/23/2020 - 12/31/2020 AAM DV TRST 100% CORP_Q1_2020_NASCAR_NED_NON_DT_4267656_FT_160x600
933 | - impression_funnel.count_users
934 | : "#f5dfdf"
935 | 160x600 1.1 - 12.31 AAM TRST DV 100% BUS_Q1_2020_B2B_WST_TOT_DT_4263276_FT_160x600 - impression_funnel.count_users: "#edc0ba"
936 | ordering: none
937 | show_null_labels: false
938 | show_totals_labels: false
939 | show_silhouette: false
940 | totals_color: "#808080"
941 | defaults_version: 1
942 | listen:
943 | Campaign ID: impression_funnel.campaign_id
944 | row: 35
945 | col: 0
946 | width: 24
947 | height: 8
948 | - title: Average Impression Per User
949 | name: Average Impression Per User
950 | model: campaign_manager_marketplace_v2
951 | explore: impression
952 | type: single_value
953 | fields: [impression.impressions_per_user]
954 | limit: 500
955 | column_limit: 50
956 | custom_color_enabled: true
957 | show_single_value_title: true
958 | show_comparison: false
959 | comparison_type: value
960 | comparison_reverse_colors: false
961 | show_comparison_label: true
962 | enable_conditional_formatting: false
963 | conditional_formatting_include_totals: false
964 | conditional_formatting_include_nulls: false
965 | series_types: {}
966 | defaults_version: 1
967 | listen:
968 | Campaign ID: impression.campaign_id
969 | row: 2
970 | col: 6
971 | width: 6
972 | height: 2
973 | - name: ''
974 | type: text
975 | title_text: ''
976 | subtitle_text: ''
977 | body_text: |-
978 |
979 | Note: This dashboard is displaying data on Campaign performance based on the past 60 days. Please contact your Looker admin if this timeframe needs to be increased.
980 |
981 | row: 0
982 | col: 0
983 | width: 24
984 | height: 2
985 | filters:
986 | - name: Campaign ID
987 | title: Campaign ID
988 | type: field_filter
989 | default_value: ''
990 | allow_multiple_values: true
991 | required: false
992 | ui_config:
993 | type: advanced
994 | display: popover
995 | model: campaign_manager_marketplace_v2
996 | explore: impression_funnel
997 | listens_to_filters: []
998 | field: impression_funnel.campaign_id
999 |
--------------------------------------------------------------------------------
/dashboards/1_reach_overview.dashboard.lookml:
--------------------------------------------------------------------------------
1 | - dashboard: 1_reach_overview
2 | title: "(1) Reach Overview"
3 | layout: newspaper
4 | preferred_viewer: dashboards-next
5 |
6 | elements:
7 | - title: Users by Browser Type
8 | name: Users by Browser Type
9 | model: campaign_manager_marketplace_v2
10 | explore: impression
11 | type: looker_pie
12 | fields: [impression.distinct_users, match_table_browsers.browser_platform]
13 | filters:
14 | impression.selected_comparison: "%Last%"
15 | sorts: [impression.distinct_users desc]
16 | limit: 1000
17 | column_limit: 50
18 | query_timezone: America/Los_Angeles
19 | value_labels: labels
20 | label_type: labPer
21 | inner_radius: 50
22 | colors: ['palette: Santa Cruz']
23 | color_application:
24 | collection_id: google
25 | palette_id: google-categorical-0
26 | options:
27 | steps: 5
28 | show_view_names: true
29 | map: auto
30 | map_projection: ''
31 | map_plot_mode: points
32 | heatmap_gridlines: false
33 | heatmap_opacity: 0.5
34 | show_region_field: true
35 | draw_map_labels_above_data: true
36 | map_tile_provider: positron
37 | map_position: custom
38 | map_scale_indicator: 'off'
39 | map_pannable: true
40 | map_zoomable: true
41 | map_marker_type: circle
42 | map_marker_icon_name: default
43 | map_marker_radius_mode: proportional_value
44 | map_marker_units: meters
45 | map_marker_proportional_scale_type: linear
46 | map_marker_color_mode: fixed
47 | show_legend: true
48 | quantize_map_value_colors: false
49 | quantize_colors: false
50 | stacking: ''
51 | show_value_labels: false
52 | label_density: 25
53 | legend_position: center
54 | x_axis_gridlines: false
55 | y_axis_gridlines: true
56 | limit_displayed_rows: false
57 | y_axis_combined: true
58 | show_y_axis_labels: true
59 | show_y_axis_ticks: true
60 | y_axis_tick_density: default
61 | y_axis_tick_density_custom: 5
62 | show_x_axis_label: true
63 | show_x_axis_ticks: true
64 | x_axis_scale: auto
65 | y_axis_scale_mode: linear
66 | ordering: none
67 | show_null_labels: false
68 | show_totals_labels: false
69 | show_silhouette: false
70 | totals_color: "#808080"
71 | series_types: {}
72 | map_latitude: 34.45221847282654
73 | map_longitude: 0.3515625
74 | map_zoom: 2
75 | defaults_version: 1
76 | listen:
77 | Date Range: impression.comparison_type
78 | Advertiser Name: match_table_advertisers.advertiser_name
79 | row: 15
80 | col: 12
81 | width: 12
82 | height: 7
83 | - title: Daily Users and Impressions
84 | name: Daily Users and Impressions
85 | model: campaign_manager_marketplace_v2
86 | explore: impression
87 | type: looker_line
88 | fields: [impression.distinct_users, impression.event_date, impression.count]
89 | filters:
90 | impression.selected_comparison: "%Last%"
91 | sorts: [impression.event_date]
92 | limit: 1000
93 | column_limit: 50
94 | query_timezone: America/Los_Angeles
95 | x_axis_gridlines: false
96 | y_axis_gridlines: true
97 | show_view_names: false
98 | show_y_axis_labels: true
99 | show_y_axis_ticks: true
100 | y_axis_tick_density: default
101 | y_axis_tick_density_custom: 5
102 | show_x_axis_label: true
103 | show_x_axis_ticks: true
104 | y_axis_scale_mode: linear
105 | x_axis_reversed: false
106 | y_axis_reversed: false
107 | plot_size_by_field: false
108 | trellis: ''
109 | stacking: ''
110 | limit_displayed_rows: false
111 | legend_position: center
112 | point_style: circle
113 | show_value_labels: false
114 | label_density: 25
115 | x_axis_scale: auto
116 | y_axis_combined: true
117 | show_null_points: true
118 | interpolation: monotone
119 | color_application:
120 | collection_id: google
121 | palette_id: google-categorical-0
122 | options:
123 | steps: 5
124 | y_axes: [{label: '', orientation: left, series: [{axisId: impression.count, id: impression.count,
125 | name: Impressions}], showLabels: true, showValues: true, unpinAxis: false,
126 | tickDensity: default, tickDensityCustom: 5, type: linear}, {label: !!null '',
127 | orientation: right, series: [{axisId: impression.distinct_users, id: impression.distinct_users,
128 | name: Distinct Users}], showLabels: true, showValues: true, unpinAxis: false,
129 | tickDensity: default, tickDensityCustom: 5, type: linear}]
130 | colors: ["#5245ed", "#1ea8df", "#353b49", "#49cec1", "#b3a0dd", "#db7f2a", "#706080",
131 | "#a2dcf3", "#776fdf", "#e9b404", "#635189"]
132 | series_types:
133 | impression.count: column
134 | series_colors:
135 | impression.count: "#34A853"
136 | impression.distinct_users: "#4285F4"
137 | value_labels: legend
138 | label_type: labPer
139 | map: auto
140 | map_projection: ''
141 | map_plot_mode: points
142 | heatmap_gridlines: false
143 | heatmap_opacity: 0.5
144 | show_region_field: true
145 | draw_map_labels_above_data: true
146 | map_tile_provider: positron
147 | map_position: custom
148 | map_scale_indicator: 'off'
149 | map_pannable: true
150 | map_zoomable: true
151 | map_marker_type: circle
152 | map_marker_icon_name: default
153 | map_marker_radius_mode: proportional_value
154 | map_marker_units: meters
155 | map_marker_proportional_scale_type: linear
156 | map_marker_color_mode: fixed
157 | show_legend: true
158 | quantize_map_value_colors: false
159 | quantize_colors: false
160 | ordering: none
161 | show_null_labels: false
162 | show_totals_labels: false
163 | show_silhouette: false
164 | totals_color: "#808080"
165 | map_latitude: 34.45221847282654
166 | map_longitude: 0.3515625
167 | map_zoom: 2
168 | defaults_version: 1
169 | listen:
170 | Date Range: impression.comparison_type
171 | Advertiser Name: match_table_advertisers.advertiser_name
172 | row: 5
173 | col: 0
174 | width: 12
175 | height: 6
176 | - title: Users
177 | name: Users
178 | model: campaign_manager_marketplace_v2
179 | explore: impression
180 | type: single_value
181 | fields: [impression.distinct_users, impression.selected_comparison]
182 | filters:
183 | impression.selected_comparison: "-EMPTY"
184 | sorts: [impression.selected_comparison]
185 | limit: 500
186 | column_limit: 50
187 | dynamic_fields: [{table_calculation: vs_previous_period, label: vs Previous Period,
188 | expression: "${impression.distinct_users}/offset(${impression.distinct_users},1)-1",
189 | value_format: !!null '', value_format_name: percent_2, is_disabled: false,
190 | _kind_hint: measure, _type_hint: number}]
191 | query_timezone: America/Los_Angeles
192 | custom_color_enabled: false
193 | show_single_value_title: true
194 | show_comparison: true
195 | comparison_type: change
196 | comparison_reverse_colors: false
197 | show_comparison_label: true
198 | enable_conditional_formatting: false
199 | conditional_formatting_include_totals: false
200 | conditional_formatting_include_nulls: false
201 | custom_color: forestgreen
202 | value_format: 0.000,," M"
203 | value_labels: legend
204 | label_type: labPer
205 | show_view_names: true
206 | stacking: ''
207 | show_value_labels: false
208 | label_density: 25
209 | legend_position: center
210 | x_axis_gridlines: false
211 | y_axis_gridlines: true
212 | limit_displayed_rows: false
213 | y_axis_combined: true
214 | show_y_axis_labels: true
215 | show_y_axis_ticks: true
216 | y_axis_tick_density: default
217 | y_axis_tick_density_custom: 5
218 | show_x_axis_label: true
219 | show_x_axis_ticks: true
220 | x_axis_scale: auto
221 | y_axis_scale_mode: linear
222 | ordering: none
223 | show_null_labels: false
224 | show_totals_labels: false
225 | show_silhouette: false
226 | totals_color: "#808080"
227 | series_types: {}
228 | colors: 'palette: Santa Cruz'
229 | defaults_version: 1
230 | hidden_fields: []
231 | listen:
232 | Date Range: impression.comparison_type
233 | Advertiser Name: match_table_advertisers.advertiser_name
234 | row: 3
235 | col: 0
236 | width: 8
237 | height: 2
238 | - title: Impressions
239 | name: Impressions
240 | model: campaign_manager_marketplace_v2
241 | explore: impression
242 | type: single_value
243 | fields: [impression.count_impressions, impression.selected_comparison]
244 | filters:
245 | impression.selected_comparison: "-EMPTY"
246 | sorts: [impression.selected_comparison]
247 | limit: 500
248 | column_limit: 50
249 | dynamic_fields: [{table_calculation: vs_previous_period, label: vs Previous Period,
250 | expression: "${impression.count_impressions} / offset(${impression.count_impressions},\
251 | \ 1) -1", value_format: !!null '', value_format_name: percent_2, _kind_hint: measure,
252 | _type_hint: number}]
253 | query_timezone: America/Los_Angeles
254 | custom_color_enabled: false
255 | show_single_value_title: true
256 | show_comparison: true
257 | comparison_type: change
258 | comparison_reverse_colors: false
259 | show_comparison_label: true
260 | enable_conditional_formatting: false
261 | conditional_formatting_include_totals: false
262 | conditional_formatting_include_nulls: false
263 | custom_color: forestgreen
264 | value_format: 0.000,," M"
265 | value_labels: legend
266 | label_type: labPer
267 | show_view_names: true
268 | stacking: ''
269 | show_value_labels: false
270 | label_density: 25
271 | legend_position: center
272 | x_axis_gridlines: false
273 | y_axis_gridlines: true
274 | limit_displayed_rows: false
275 | y_axis_combined: true
276 | show_y_axis_labels: true
277 | show_y_axis_ticks: true
278 | y_axis_tick_density: default
279 | y_axis_tick_density_custom: 5
280 | show_x_axis_label: true
281 | show_x_axis_ticks: true
282 | x_axis_scale: auto
283 | y_axis_scale_mode: linear
284 | ordering: none
285 | show_null_labels: false
286 | show_totals_labels: false
287 | show_silhouette: false
288 | totals_color: "#808080"
289 | series_types: {}
290 | colors: 'palette: Santa Cruz'
291 | defaults_version: 1
292 | listen:
293 | Date Range: impression.comparison_type
294 | Advertiser Name: match_table_advertisers.advertiser_name
295 | row: 3
296 | col: 8
297 | width: 8
298 | height: 2
299 | - title: Active Campaigns
300 | name: Active Campaigns
301 | model: campaign_manager_marketplace_v2
302 | explore: impression
303 | type: single_value
304 | fields: [impression.campaign_count, impression.selected_comparison]
305 | filters:
306 | impression.selected_comparison: "-EMPTY"
307 | sorts: [impression.selected_comparison]
308 | limit: 500
309 | column_limit: 50
310 | dynamic_fields: [{table_calculation: vs_previous_period, label: vs Previous Period,
311 | expression: "${impression.campaign_count}-offset(${impression.campaign_count},1)",
312 | value_format: !!null '', value_format_name: decimal_0, _kind_hint: measure,
313 | _type_hint: number}]
314 | query_timezone: America/Los_Angeles
315 | custom_color_enabled: false
316 | show_single_value_title: true
317 | show_comparison: true
318 | comparison_type: change
319 | comparison_reverse_colors: false
320 | show_comparison_label: true
321 | enable_conditional_formatting: false
322 | conditional_formatting_include_totals: false
323 | conditional_formatting_include_nulls: false
324 | custom_color: forestgreen
325 | stacking: ''
326 | show_value_labels: false
327 | label_density: 25
328 | legend_position: center
329 | x_axis_gridlines: false
330 | y_axis_gridlines: true
331 | show_view_names: true
332 | limit_displayed_rows: false
333 | y_axis_combined: true
334 | show_y_axis_labels: true
335 | show_y_axis_ticks: true
336 | y_axis_tick_density: default
337 | y_axis_tick_density_custom: 5
338 | show_x_axis_label: true
339 | show_x_axis_ticks: true
340 | x_axis_scale: auto
341 | y_axis_scale_mode: linear
342 | ordering: none
343 | show_null_labels: false
344 | show_totals_labels: false
345 | show_silhouette: false
346 | totals_color: "#808080"
347 | series_types: {}
348 | defaults_version: 1
349 | listen:
350 | Date Range: impression.comparison_type
351 | Advertiser Name: match_table_advertisers.advertiser_name
352 | row: 13
353 | col: 16
354 | width: 8
355 | height: 2
356 | - title: Clicks
357 | name: Clicks
358 | model: campaign_manager_marketplace_v2
359 | explore: click
360 | type: single_value
361 | fields: [click.count, click.selected_comparison]
362 | filters:
363 | click.selected_comparison: "-EMPTY"
364 | sorts: [click.count desc]
365 | limit: 500
366 | column_limit: 50
367 | dynamic_fields: [{table_calculation: vs_previous_period, label: vs Previous Period,
368 | expression: "${click.count}/offset(${click.count},1)-1", value_format: !!null '',
369 | value_format_name: percent_2, _kind_hint: measure, _type_hint: number}]
370 | query_timezone: America/Los_Angeles
371 | custom_color_enabled: false
372 | show_single_value_title: true
373 | show_comparison: true
374 | comparison_type: change
375 | comparison_reverse_colors: false
376 | show_comparison_label: true
377 | enable_conditional_formatting: false
378 | conditional_formatting_include_totals: false
379 | conditional_formatting_include_nulls: false
380 | custom_color: forestgreen
381 | stacking: ''
382 | show_value_labels: false
383 | label_density: 25
384 | legend_position: center
385 | x_axis_gridlines: false
386 | y_axis_gridlines: true
387 | show_view_names: true
388 | limit_displayed_rows: false
389 | y_axis_combined: true
390 | show_y_axis_labels: true
391 | show_y_axis_ticks: true
392 | y_axis_tick_density: default
393 | y_axis_tick_density_custom: 5
394 | show_x_axis_label: true
395 | show_x_axis_ticks: true
396 | x_axis_scale: auto
397 | y_axis_scale_mode: linear
398 | ordering: none
399 | show_null_labels: false
400 | show_totals_labels: false
401 | show_silhouette: false
402 | totals_color: "#808080"
403 | series_types: {}
404 | defaults_version: 1
405 | listen:
406 | Date Range: click.comparison_type
407 | Advertiser Name: match_table_advertisers.advertiser_name
408 | row: 13
409 | col: 0
410 | width: 8
411 | height: 2
412 | - title: Conversions
413 | name: Conversions
414 | model: campaign_manager_marketplace_v2
415 | explore: activity
416 | type: single_value
417 | fields: [activity.count, activity.selected_comparison]
418 | filters:
419 | activity.event_type: CONVERSION
420 | activity.selected_comparison: "-EMPTY"
421 | sorts: [activity.selected_comparison]
422 | limit: 500
423 | column_limit: 50
424 | dynamic_fields: [{table_calculation: vs_previous_period, label: vs Previous Period,
425 | expression: "${activity.count}/offset(${activity.count},1)-1", value_format: !!null '',
426 | value_format_name: percent_2, _kind_hint: measure, _type_hint: number}]
427 | query_timezone: America/Los_Angeles
428 | custom_color_enabled: false
429 | show_single_value_title: true
430 | show_comparison: true
431 | comparison_type: change
432 | comparison_reverse_colors: false
433 | show_comparison_label: true
434 | enable_conditional_formatting: false
435 | conditional_formatting_include_totals: false
436 | conditional_formatting_include_nulls: false
437 | custom_color: forestgreen
438 | value_format: 0.000,," M"
439 | stacking: ''
440 | show_value_labels: false
441 | label_density: 25
442 | legend_position: center
443 | x_axis_gridlines: false
444 | y_axis_gridlines: true
445 | show_view_names: true
446 | limit_displayed_rows: false
447 | y_axis_combined: true
448 | show_y_axis_labels: true
449 | show_y_axis_ticks: true
450 | y_axis_tick_density: default
451 | y_axis_tick_density_custom: 5
452 | show_x_axis_label: true
453 | show_x_axis_ticks: true
454 | x_axis_scale: auto
455 | y_axis_scale_mode: linear
456 | ordering: none
457 | show_null_labels: false
458 | show_totals_labels: false
459 | show_silhouette: false
460 | totals_color: "#808080"
461 | series_types: {}
462 | defaults_version: 1
463 | listen:
464 | Date Range: activity.comparison_type
465 | Advertiser Name: match_table_advertisers.advertiser_name
466 | row: 13
467 | col: 8
468 | width: 8
469 | height: 2
470 | - title: Users by State
471 | name: Users by State
472 | model: campaign_manager_marketplace_v2
473 | explore: impression
474 | type: looker_map
475 | fields: [impression.distinct_users, impression.country_code]
476 | filters:
477 | impression.state_region: "-NULL"
478 | impression.country_code: "-NULL"
479 | impression.selected_comparison: "%Last%"
480 | sorts: [impression.distinct_users desc]
481 | limit: 500
482 | column_limit: 50
483 | query_timezone: America/Los_Angeles
484 | map_plot_mode: points
485 | heatmap_gridlines: false
486 | heatmap_gridlines_empty: false
487 | heatmap_opacity: 0.5
488 | show_region_field: true
489 | draw_map_labels_above_data: true
490 | map_tile_provider: light
491 | map_position: fit_data
492 | map_scale_indicator: 'off'
493 | map_pannable: true
494 | map_zoomable: true
495 | map_marker_type: circle
496 | map_marker_icon_name: default
497 | map_marker_radius_mode: proportional_value
498 | map_marker_units: meters
499 | map_marker_proportional_scale_type: linear
500 | map_marker_color_mode: fixed
501 | show_view_names: true
502 | show_legend: true
503 | quantize_map_value_colors: false
504 | reverse_map_value_colors: false
505 | map_latitude: 39.842286020743394
506 | map_longitude: -96.064453125
507 | map_zoom: 3
508 | map_value_colors: ["#4285F4", "#185ABC"]
509 | map: usa
510 | map_projection: ''
511 | quantize_colors: false
512 | show_antarctica: false
513 | stacking: ''
514 | show_value_labels: false
515 | label_density: 25
516 | legend_position: center
517 | x_axis_gridlines: false
518 | y_axis_gridlines: true
519 | limit_displayed_rows: false
520 | y_axis_combined: true
521 | show_y_axis_labels: true
522 | show_y_axis_ticks: true
523 | y_axis_tick_density: default
524 | y_axis_tick_density_custom: 5
525 | show_x_axis_label: true
526 | show_x_axis_ticks: true
527 | x_axis_scale: auto
528 | y_axis_scale_mode: linear
529 | ordering: none
530 | show_null_labels: false
531 | show_totals_labels: false
532 | show_silhouette: false
533 | totals_color: "#808080"
534 | series_types: {}
535 | defaults_version: 1
536 | title_hidden: true
537 | listen:
538 | Date Range: impression.comparison_type
539 | Advertiser Name: match_table_advertisers.advertiser_name
540 | row: 24
541 | col: 0
542 | width: 12
543 | height: 10
544 | - name: DCM Insights
546 | Reach Overview
547 | type: text
548 | title_text: DCM Insights
550 | Reach Overview
551 | subtitle_text: How are my campaigns performing?
552 | body_text: " Recommended Action \U0001f447 Drill into impressions\
553 | \ and conversions to get an overview of campaign performance."
554 | row: 0
555 | col: 3
556 | width: 16
557 | height: 3
558 | - title: Conversions by Browser Type
559 | name: Conversions by Browser Type
560 | model: campaign_manager_marketplace_v2
561 | explore: activity
562 | type: looker_column
563 | fields: [activity.count, match_table_browsers.browser_platform, activity.event_date]
564 | pivots: [match_table_browsers.browser_platform]
565 | fill_fields: [activity.event_date]
566 | filters:
567 | activity.event_type: CONVERSION
568 | activity.selected_comparison: "%Last%"
569 | sorts: [activity.count desc 0, match_table_browsers.browser_platform]
570 | limit: 500
571 | column_limit: 50
572 | query_timezone: America/Los_Angeles
573 | x_axis_gridlines: false
574 | y_axis_gridlines: true
575 | show_view_names: true
576 | show_y_axis_labels: true
577 | show_y_axis_ticks: true
578 | y_axis_tick_density: default
579 | y_axis_tick_density_custom: 5
580 | show_x_axis_label: true
581 | show_x_axis_ticks: true
582 | y_axis_scale_mode: linear
583 | x_axis_reversed: false
584 | y_axis_reversed: false
585 | plot_size_by_field: false
586 | trellis: ''
587 | stacking: percent
588 | limit_displayed_rows: false
589 | legend_position: center
590 | point_style: none
591 | show_value_labels: false
592 | label_density: 25
593 | x_axis_scale: auto
594 | y_axis_combined: true
595 | ordering: none
596 | show_null_labels: false
597 | show_totals_labels: false
598 | show_silhouette: false
599 | totals_color: "#808080"
600 | series_types: {}
601 | series_colors:
602 | Firefox - activity.count: "#FBBC04"
603 | Google Chrome - activity.count: "#34A853"
604 | Safari (iPhone/iPod) - activity.count: "#4285F4"
605 | Safari - activity.count: "#EA4335"
606 | Other - activity.count: "#B31412"
607 | Opera - activity.count: "#E8EAED"
608 | Microsoft Internet Explorer - activity.count: "#137333"
609 | custom_color_enabled: false
610 | custom_color: forestgreen
611 | show_single_value_title: true
612 | show_comparison: false
613 | comparison_type: value
614 | comparison_reverse_colors: false
615 | show_comparison_label: true
616 | value_format: 0.000,," M"
617 | enable_conditional_formatting: false
618 | conditional_formatting_include_totals: false
619 | conditional_formatting_include_nulls: false
620 | defaults_version: 1
621 | show_null_points: true
622 | interpolation: linear
623 | listen:
624 | Date Range: activity.comparison_type
625 | Advertiser Name: match_table_advertisers.advertiser_name
626 | row: 15
627 | col: 0
628 | width: 12
629 | height: 7
630 | - title: 'AV: Eligible Imps'
631 | name: 'AV: Eligible Imps'
632 | model: campaign_manager_marketplace_v2
633 | explore: impression
634 | type: single_value
635 | fields: [impression.active_view_eligible_impressions]
636 | filters:
637 | impression.selected_comparison: "%Last%"
638 | sorts: [impression.active_view_eligible_impressions desc]
639 | limit: 500
640 | query_timezone: America/Los_Angeles
641 | custom_color_enabled: true
642 | show_single_value_title: true
643 | show_comparison: false
644 | comparison_type: value
645 | comparison_reverse_colors: false
646 | show_comparison_label: true
647 | enable_conditional_formatting: false
648 | conditional_formatting_include_totals: false
649 | conditional_formatting_include_nulls: false
650 | value_format: 0.000,," M"
651 | defaults_version: 1
652 | listen:
653 | Date Range: impression.comparison_type
654 | Advertiser Name: match_table_advertisers.advertiser_name
655 | row: 24
656 | col: 12
657 | width: 4
658 | height: 2
659 | - title: 'AV: Measureable Imp'
660 | name: 'AV: Measureable Imp'
661 | model: campaign_manager_marketplace_v2
662 | explore: impression
663 | type: single_value
664 | fields: [impression.active_view_measurable_impressions]
665 | filters:
666 | impression.selected_comparison: "%Last%"
667 | limit: 500
668 | query_timezone: America/Los_Angeles
669 | custom_color_enabled: true
670 | show_single_value_title: true
671 | show_comparison: false
672 | comparison_type: value
673 | comparison_reverse_colors: false
674 | show_comparison_label: true
675 | enable_conditional_formatting: false
676 | conditional_formatting_include_totals: false
677 | conditional_formatting_include_nulls: false
678 | value_format: 0.000,," M"
679 | defaults_version: 1
680 | listen:
681 | Date Range: impression.comparison_type
682 | Advertiser Name: match_table_advertisers.advertiser_name
683 | row: 24
684 | col: 16
685 | width: 4
686 | height: 2
687 | - title: Viewable Imps
688 | name: Viewable Imps
689 | model: campaign_manager_marketplace_v2
690 | explore: impression
691 | type: single_value
692 | fields: [impression.active_view_viewable_impressions]
693 | filters:
694 | impression.selected_comparison: "%Last%"
695 | limit: 500
696 | query_timezone: America/Los_Angeles
697 | custom_color_enabled: true
698 | show_single_value_title: true
699 | show_comparison: false
700 | comparison_type: value
701 | comparison_reverse_colors: false
702 | show_comparison_label: true
703 | enable_conditional_formatting: false
704 | conditional_formatting_include_totals: false
705 | conditional_formatting_include_nulls: false
706 | value_format: 0.000,," M"
707 | defaults_version: 1
708 | listen:
709 | Date Range: impression.comparison_type
710 | Advertiser Name: match_table_advertisers.advertiser_name
711 | row: 24
712 | col: 20
713 | width: 4
714 | height: 2
715 | - name: Impressions By Geo
716 | type: text
717 | title_text: Impressions By Geo
718 | row: 22
719 | col: 0
720 | width: 12
721 | height: 2
722 | - name: Viewability
723 | type: text
724 | title_text: Viewability
725 | row: 22
726 | col: 12
727 | width: 12
728 | height: 2
729 | - title: Viewable Impressions
730 | name: Viewable Impressions
731 | model: campaign_manager_marketplace_v2
732 | explore: impression
733 | type: looker_column
734 | fields: [impression.event_date, impression.active_view_viewable_impressions, match_table_operating_systems.operating_system]
735 | pivots: [match_table_operating_systems.operating_system]
736 | filters:
737 | impression.selected_comparison: "%Last%"
738 | sorts: [impression.event_date, match_table_operating_systems.operating_system]
739 | limit: 1000
740 | column_limit: 50
741 | query_timezone: America/Los_Angeles
742 | x_axis_gridlines: false
743 | y_axis_gridlines: true
744 | show_view_names: false
745 | show_y_axis_labels: true
746 | show_y_axis_ticks: true
747 | y_axis_tick_density: default
748 | y_axis_tick_density_custom: 5
749 | show_x_axis_label: true
750 | show_x_axis_ticks: true
751 | y_axis_scale_mode: linear
752 | x_axis_reversed: false
753 | y_axis_reversed: false
754 | plot_size_by_field: false
755 | trellis: ''
756 | stacking: normal
757 | limit_displayed_rows: false
758 | legend_position: center
759 | point_style: circle_outline
760 | show_value_labels: false
761 | label_density: 25
762 | x_axis_scale: auto
763 | y_axis_combined: true
764 | ordering: none
765 | show_null_labels: false
766 | show_totals_labels: false
767 | show_silhouette: false
768 | totals_color: "#808080"
769 | color_application:
770 | collection_id: google
771 | palette_id: google-categorical-0
772 | options:
773 | steps: 5
774 | y_axes: [{label: '', orientation: left, series: [{axisId: impression.count, id: impression.count,
775 | name: Impressions}], showLabels: true, showValues: true, unpinAxis: false,
776 | tickDensity: default, tickDensityCustom: 5, type: linear}, {label: !!null '',
777 | orientation: right, series: [{axisId: impression.distinct_users, id: impression.distinct_users,
778 | name: Distinct Users}], showLabels: true, showValues: true, unpinAxis: false,
779 | tickDensity: default, tickDensityCustom: 5, type: linear}]
780 | hidden_series: []
781 | colors: ["#5245ed", "#1ea8df", "#353b49", "#49cec1", "#b3a0dd", "#db7f2a", "#706080",
782 | "#a2dcf3", "#776fdf", "#e9b404", "#635189"]
783 | series_types: {}
784 | series_colors:
785 | impression.count: "#137333"
786 | impression.distinct_users: "#C2DD67"
787 | impression.active_view_viewable_impressions: "#72D16D"
788 | Smartphone - impression.active_view_viewable_impressions: "#185ABC"
789 | Tablet - impression.active_view_viewable_impressions: "#EA8600"
790 | Microsoft Windows 10 - impression.active_view_viewable_impressions: "#34A853"
791 | show_null_points: true
792 | interpolation: linear
793 | value_labels: legend
794 | label_type: labPer
795 | map: auto
796 | map_projection: ''
797 | map_plot_mode: points
798 | heatmap_gridlines: false
799 | heatmap_opacity: 0.5
800 | show_region_field: true
801 | draw_map_labels_above_data: true
802 | map_tile_provider: positron
803 | map_position: custom
804 | map_scale_indicator: 'off'
805 | map_pannable: true
806 | map_zoomable: true
807 | map_marker_type: circle
808 | map_marker_icon_name: default
809 | map_marker_radius_mode: proportional_value
810 | map_marker_units: meters
811 | map_marker_proportional_scale_type: linear
812 | map_marker_color_mode: fixed
813 | show_legend: true
814 | quantize_map_value_colors: false
815 | quantize_colors: false
816 | map_latitude: 34.45221847282654
817 | map_longitude: 0.3515625
818 | map_zoom: 2
819 | defaults_version: 1
820 | listen:
821 | Date Range: impression.comparison_type
822 | Advertiser Name: match_table_advertisers.advertiser_name
823 | row: 26
824 | col: 12
825 | width: 12
826 | height: 8
827 | - name: Clicks, Conversions & Users by Browser Type
828 | type: text
829 | title_text: Clicks, Conversions & Users by Browser Type
830 | row: 11
831 | col: 0
832 | width: 24
833 | height: 2
834 | - title: Impressions Per User
835 | name: Impressions Per User
836 | model: campaign_manager_marketplace_v2
837 | explore: impression
838 | type: single_value
839 | fields: [impression.impressions_per_user, impression.selected_comparison]
840 | filters:
841 | impression.selected_comparison: "-EMPTY"
842 | sorts: [impression.selected_comparison]
843 | limit: 500
844 | column_limit: 50
845 | dynamic_fields: [{table_calculation: vs_previous_period, label: vs Previous Period,
846 | expression: "${impression.impressions_per_user}-offset(${impression.impressions_per_user},\
847 | \ 1)", value_format: !!null '', value_format_name: decimal_2, _kind_hint: measure,
848 | _type_hint: number}]
849 | custom_color_enabled: true
850 | show_single_value_title: true
851 | show_comparison: true
852 | comparison_type: change
853 | comparison_reverse_colors: false
854 | show_comparison_label: true
855 | enable_conditional_formatting: false
856 | conditional_formatting_include_totals: false
857 | conditional_formatting_include_nulls: false
858 | defaults_version: 1
859 | listen:
860 | Date Range: impression.comparison_type
861 | Advertiser Name: match_table_advertisers.advertiser_name
862 | row: 3
863 | col: 16
864 | width: 8
865 | height: 2
866 | - title: Impressions Per User - Tiered
867 | name: Impressions Per User - Tiered
868 | model: campaign_manager_marketplace_v2
869 | explore: impression
870 | type: looker_column
871 | fields: [impression.count, user_impression_facts.impressions_per_user_tiered]
872 | filters:
873 | user_impression_facts.impressions_per_user_tiered: "-Below 1,-Undefined"
874 | impression.selected_comparison: "%Last%"
875 | sorts: [user_impression_facts.impressions_per_user_tiered]
876 | limit: 500
877 | column_limit: 50
878 | x_axis_gridlines: false
879 | y_axis_gridlines: true
880 | show_view_names: false
881 | show_y_axis_labels: true
882 | show_y_axis_ticks: true
883 | y_axis_tick_density: default
884 | y_axis_tick_density_custom: 5
885 | show_x_axis_label: true
886 | show_x_axis_ticks: true
887 | y_axis_scale_mode: linear
888 | x_axis_reversed: false
889 | y_axis_reversed: false
890 | plot_size_by_field: false
891 | trellis: ''
892 | stacking: ''
893 | limit_displayed_rows: false
894 | legend_position: center
895 | point_style: none
896 | show_value_labels: false
897 | label_density: 25
898 | x_axis_scale: auto
899 | y_axis_combined: true
900 | ordering: none
901 | show_null_labels: false
902 | show_totals_labels: false
903 | show_silhouette: false
904 | totals_color: "#808080"
905 | series_types: {}
906 | defaults_version: 1
907 | listen:
908 | Date Range: impression.comparison_type
909 | Advertiser Name: match_table_advertisers.advertiser_name
910 | row: 5
911 | col: 12
912 | width: 12
913 | height: 6
914 | - name: ''
915 | type: text
916 | title_text: ''
917 | subtitle_text: ''
918 | body_text: |-
919 |
920 |
921 | Go to Top Performers Dashboard ➜
922 |
923 |
924 | row: 0
925 | col: 19
926 | width: 5
927 | height: 3
928 | filters:
929 | - name: Date Range
930 | title: Date Range
931 | type: field_filter
932 | default_value: seven
933 | allow_multiple_values: true
934 | required: false
935 | ui_config:
936 | type: dropdown_menu
937 | display: inline
938 | options:
939 | - seven
940 | - fourteen
941 | - thirty
942 | model: campaign_manager_marketplace_v2
943 | explore: impression
944 | listens_to_filters: []
945 | field: impression.comparison_type
946 | - name: Advertiser Name
947 | title: Advertiser Name
948 | type: field_filter
949 | default_value: ''
950 | allow_multiple_values: true
951 | required: false
952 | model: campaign_manager_marketplace_v2
953 | explore: impression
954 | listens_to_filters: []
955 | field: match_table_advertisers.advertiser_name
--------------------------------------------------------------------------------