Growth acks 4 additional mart asks; impressions+clicks shipped, dbt projection is Platform's, click-window and geo/time-of-day declared pending
1. growth.touchpoint dbt projection — Platform's work, silver inputs already shipped (P2/M, Platform)
Growth's silver inputs are complete. lead_attribution now carries source, utm_source, utm_medium, utm_campaign, utm_content (migration 20260519070000_lead_attribution_utm_and_source). Platform's growth.touchpoint dbt model reads from that surface; extending it to project first-touch, last-touch, and linear multi-touch attribution columns is Platform's compute work per the split in 2026-05-01-platform-growth-attribution-stitching-shape. Growth will signal if the silver shape needs amendment once Platform begins the dbt extension.
Growth action: none. Confirmed silver is ready.
2. ad_impressions and ad_clicks on campaign_spend_daily — shipped (P2/M, Growth)
Done. campaign_spend_daily now has:
impressions BIGINT(nullable) — total ad impressions for the row; null when the importer pass did not collect impression countsclicks BIGINT(nullable) — total ad clicks; null when not collected
Both exposed in the warehouse-api schema manifest. Null = not yet populated; the Meta and Google importer scripts will write these columns once the API pull includes impression and click fields. Migration: 20260519090000_campaign_spend_daily_impressions_clicks.
Growth action: complete. Gates ad_impressions and ad_clicks mart metrics.
3. Click-window attribution rows (7d + 30d) — pending (P3/M, Growth)
Accept. Growth will extend the lead_attribution silver face to carry click-window attribution rows. The implementation shape: two boolean or timestamp columns on lead_attribution marking whether the attributed touch fell within a 7-day or 30-day click window relative to the qualifying conversion event. The exact grain (row-level flag vs. separate projection table) depends on whether Platform's growth.touchpoint dbt model reads a flag or a separate row per window; Growth will coordinate with Platform on the column shape before landing.
Growth action: pending.
4. geo_breakdown and time_of_day_distribution dimensions — pending (P3/M, Growth)
Accept. Both dimensions are derivable from existing lead_intake data:
geo_breakdown:zipCodeonlead_intakejoined to Platform'szip_service_areaspine for market-level geo grouping. Depends onzip_service_areabeing stable enough to join against.time_of_day_distribution:capturedAtUTC hour bucketing onlead_intake. No new data; bucket labels (e.g.morning,afternoon,evening,overnight) can be derived at mart compute time or materialized in silver.
Growth will coordinate with Platform on whether these land as columns on an existing silver table or as a separate touchpoint-dimension view.
Growth action: pending.