advertising_marketing_small/ 9 views1 model9 explores 4 warnings Repo files

Source model LookML, MySQL SQL

Inside an AdTech LookML project: traffic quality, publisher revenue and IP clustering

A compact, dashboard-first project on a fraud_research connection. One impressions view carries the only dashboard. Click, conversion, campaign and IP cluster views sit beside it as separate explores with no joins between them. Trust: Source-defined

SQL on these pages is MySQL. Inferred from substring_index in the source. Trust: Inferred

9 views1 model9 explores1 dashboard0 joins8 tiles55 fields10 measures

Repo map

Trust: Source-defined

Each lane is an explore. None declares a join, so every view is an island. Lane headings name the dashboards that query them.

Explores, joins and dashboards in advertising-marketing-small
Explores, joins and dashboards in advertising-marketing-small. Text version follows the diagram.Exploresclick_interactions_by_ip_for_useable_campaignsodd_browser_and_os_analysisconversions_by_ip_for_useable_campaignsodd_browser_and_os_analysisgeo_pid_factsodd_browser_and_os_analysisip_2_clusterodd_browser_and_os_analysisip_3_clusterodd_browser_and_os_analysisip_model_2_clustersodd_browser_and_os_analysisip_model_3_clustersodd_browser_and_os_analysisother_browser_os_impressionsodd_browser_and_os_analysis | read by default (8 tiles)useable_campaign_idsodd_browser_and_os_analysis click_interactions_by_ip_for_useable_campaigns base view conversions_by_ip_for_useable_campaigns base view geo_pid_facts base view ip_2_cluster base view ip_3_cluster base view ip_model_2_clusters base view ip_model_3_clusters base view other_browser_os_impressions base view useable_campaign_ids base view
Text version
  • click_interactions_by_ip_for_useable_campaigns (odd_browser_and_os_analysis): click_interactions_by_ip_for_useable_campaigns
  • conversions_by_ip_for_useable_campaigns (odd_browser_and_os_analysis): conversions_by_ip_for_useable_campaigns
  • geo_pid_facts (odd_browser_and_os_analysis): geo_pid_facts
  • ip_2_cluster (odd_browser_and_os_analysis): ip_2_cluster
  • ip_3_cluster (odd_browser_and_os_analysis): ip_3_cluster
  • ip_model_2_clusters (odd_browser_and_os_analysis): ip_model_2_clusters
  • ip_model_3_clusters (odd_browser_and_os_analysis): ip_model_3_clusters
  • other_browser_os_impressions (odd_browser_and_os_analysis | read by default (8 tiles)): other_browser_os_impressions
  • useable_campaign_ids (odd_browser_and_os_analysis): useable_campaign_ids

What this repo models

Metric index 10

Trust: Source-defined

Every measure in the repo, as declared. Tile counts show which ones a dashboard actually uses.

Show 10 measures
MeasureViewTypeSQLTiles
countclick_interactions_by_ip_for_useable_campaignscountCOUNT(*) of rows0
countconversions_by_ip_for_useable_campaignscountCOUNT(*) of rows0
countgeo_pid_factscountCOUNT(*) of rows0
countip_2_clustercountCOUNT(*) of rows0
countip_3_clustercountCOUNT(*) of rows0
countip_model_2_clusterscountCOUNT(*) of rows0
countip_model_3_clusterscountCOUNT(*) of rows0
countother_browser_os_impressionscountCOUNT(*) of rows7
sum_of_bidsother_browser_os_impressionssum${TABLE}.bid_amount2
countuseable_campaign_idscountCOUNT(*) of rows0

Source files 11

Every source file, classified. Combined files share one page; inventory-only files have a reason.

Views 9

click_interactions_by_ip_for_useable_campaigns.view.lookml Combined page. Declares click_interactions_by_ip_for_useable_campaigns Click and conversion counts by IP for useable campaigns2 warnings conversions_by_ip_for_useable_campaigns.view.lookml Combined page. Declares conversions_by_ip_for_useable_campaigns Click and conversion counts by IP for useable campaigns2 warnings geo_pid_facts.view.lookml Own page. Declares geo_pid_facts geo_pid_facts: a pre-aggregated geo by publisher table with an ambiguous count2 warnings ip_2_cluster.view.lookml Combined page. Declares ip_2_cluster IP cluster views: two- and three-cluster labels with behaviour ratios per IP3 warnings ip_3_cluster.view.lookml Combined page. Declares ip_3_cluster IP cluster views: two- and three-cluster labels with behaviour ratios per IP3 warnings ip_model_2_clusters.view.lookml Combined page. Declares ip_model_2_clusters IP cluster views: two- and three-cluster labels with behaviour ratios per IP3 warnings ip_model_3_clusters.view.lookml Combined page. Declares ip_model_3_clusters IP cluster views: two- and three-cluster labels with behaviour ratios per IP3 warnings other_browser_os_impressions.view.lookml Own page. Declares other_browser_os_impressions How this LookML view models browser, OS, publisher and impression traffic4 warnings useable_campaign_ids.view.lookml Combined page. Declares useable_campaign_ids Click and conversion counts by IP for useable campaigns2 warnings

Models 1

odd_browser_and_os_analysis.model.lookml Inventory only Nine bare explores with no joins or filters. The repo map shows its whole structure, so it has no page of its own.

Dashboards 1

Risks to review 4

Blocker: No joins anywhere in the model

Trust: Source-defined

All nine explores are bare. Impressions, clicks, conversions and IP clusters cannot be combined in Looker, so CTR, CVR and per-cluster revenue are not source-defined.

What goes wrong: Rates built by exporting two explores and dividing them mix populations, date ranges and grains without any warning.

Read the guide: CTR from separate tables

Source: odd_browser_and_os_analysis.model.lookml L5-13
advertising_marketing_small/odd_browser_and_os_analysis.model.lookmlL5-13
- scoping: true- include: '*.view.lookml'- include: '*.dashboard.lookml'- explore: click_interactions_by_ip_for_useable_campaigns- explore: conversions_by_ip_for_useable_campaigns- explore: geo_pid_facts- explore: ip_2_cluster- explore: ip_3_cluster- explore: ip_model_2_clusters- explore: ip_model_3_clusters- explore: other_browser_os_impressions- explore: useable_campaign_ids

advertising-marketing-small, odd_browser_and_os_analysis.model.lookml, lines 5-13

Caution: The dashboard country filter is wired to nothing

Trust: Source-defined

The country filter defaults to US, but no tile has a listen binding, so every tile ignores it.

What goes wrong: The dashboard shows a US filter while reporting global numbers.

Read the guide: Filters that change metric meaning

Source: default.dashboard.lookml L6-10
advertising_marketing_small/default.dashboard.lookmlL6-10
  layout: tile  tile_size: 100  filters:  - name: country    type: suggest_filter    explore: other_browser_os_impressions    dimension: other_browser_os_impressions.country    default_value: US  elements:  - name: browser_os_breakdown    title: Browser-OS Breakdown

advertising-marketing-small, default.dashboard.lookml, lines 6-10

Caution: Publisher ids are parsed out of a string

Trust: Source-defined

pid is the second dash-separated segment of subid. Subids in another format become invented publishers rather than NULL.

Read the guide: Parsing ids from strings

Source: other_browser_os_impressions.view.lookml L43-44
advertising_marketing_small/other_browser_os_impressions.view.lookmlL43-44
    sql: ${TABLE}.ua  - dimension: url    sql: ${TABLE}.url  - dimension: pid    sql: substring_index(substring_index(${subid}, '-', 2), '-', -1)  - measure: count    label: count    type: count

advertising-marketing-small, other_browser_os_impressions.view.lookml, lines 43-44

Note: No view declares a primary key

Trust: Source-defined

None of the nine views has a primary_key. That is safe while nothing is joined, and becomes a fanout risk the moment a join is added.

Read the guide: Primary keys and counts

Guides built on this model

Parser checks 13

Trust: Source-defined

Mechanical findings from parsing the LookML. They are facts about the files. The cards above explain which ones matter.

Show all 13 checks
  • no-primary-key 9
    • click_interactions_by_ip_for_useable_campaigns.view.lookml:1 click_interactions_by_ip_for_useable_campaigns declares no primary_key.
    • conversions_by_ip_for_useable_campaigns.view.lookml:1 conversions_by_ip_for_useable_campaigns declares no primary_key.
    • geo_pid_facts.view.lookml:1 geo_pid_facts declares no primary_key.
    • ip_2_cluster.view.lookml:1 ip_2_cluster declares no primary_key.
    • ip_3_cluster.view.lookml:1 ip_3_cluster declares no primary_key.
    • ip_model_2_clusters.view.lookml:1 ip_model_2_clusters declares no primary_key.
    • ip_model_3_clusters.view.lookml:1 ip_model_3_clusters declares no primary_key.
    • other_browser_os_impressions.view.lookml:1 other_browser_os_impressions declares no primary_key.
    • useable_campaign_ids.view.lookml:1 useable_campaign_ids declares no primary_key.
  • name-collision 3
    • click_interactions_by_ip_for_useable_campaigns.view.lookml:8 click_interactions_by_ip_for_useable_campaigns.count is declared as both dimension and measure.
    • conversions_by_ip_for_useable_campaigns.view.lookml:8 conversions_by_ip_for_useable_campaigns.count is declared as both dimension and measure.
    • geo_pid_facts.view.lookml:14 geo_pid_facts.count is declared as both dimension and measure.
  • filter-unwired 1
    • default.dashboard.lookml:6 Dashboard filter "country" is not wired to any tile through listen.