Geo Marketing Audience Handoff
Summary
The geo-to-marketing handoff is deliberately narrow. Geo produces a saved selection and candidate context. Marketing imports that selection as an audience source, then applies campaign, suppression, exposure, variant, review, delivery, and attribution rules through normal marketing paths.
Reader Question
Where does geo stop and marketing begin when map-selected opportunity becomes a campaign audience?
Surface Or Workflow
The operator starts in geo analysis, saves a selection, then chooses to create or update a marketing audience. From that point, marketing audience surfaces own preview, campaign binding, and materialization. Geo remains the source of selection context.
Lifecycle
Geo persists the saved selection. The UI calls the marketing audience import endpoint with the saved selection reference. Marketing creates an audience draft whose definition records source_type = "geo_selection". At run time, marketing asks geo for candidate batches and then proceeds through normal suppression, exposure, variant assignment, member creation, review, delivery, and attribution.
Child Threads
- Geo Saved Selections
- Marketing Audience Building
marketing-domain-data-modelgeo-outcome-overlays
Implementation Boundaries
services/geo/selections owns saved selections and candidate resolution. services/marketing/authoring/geo_audience_import owns the import into marketing authoring state. services/marketing/runtime/audience and services/marketing/runtime/geo own run-time materialization of geo-backed audiences.
Tradeoffs
The boundary forces an extra reference and import step, but it keeps geo reusable beyond marketing and keeps marketing policy from leaking into source discovery and scoring.
Visual
The current visual is a graph neighborhood. The intended visual is a handoff sequence: saved geo selection, marketing import, audience definition, runtime candidate resolution, suppression/materialization, and future aggregate outcome feedback.
Source Evidence
services/geo/selectionsservices/marketing/authoring/geo_audience_importservices/marketing/runtime/audienceservices/marketing/runtime/geoapp/api/marketing/audiencesapp/web/app/marketing/audiencestests/marketing/test_geo_selection_audience_source.pytests/geo/test_marketing_outcome_overlay_contract.py