Skip to content

Audience tools: list user lists/segments + draft_audience_attachment (observation-first) #48

Description

@kLOsk

Tracking the audience write surface discussed in #44. AdLoop can read audience performance but cannot list available audiences or attach one to a campaign — users still do that in the Ads UI.

Scope (v1)

Reads first:

  • get_user_lists — remarketing lists with membership size, eligibility (Search needs 1,000+ members), status
  • get_audience_segments — custom segments, in-market/affinity (user_interest), combined segments

Then the write:

  • draft_audience_attachment — attach an audience to a campaign or ad group via the standard preview → confirm_and_apply flow

Safety design (non-negotiable)

  1. Observation is the default. Attaching with the TARGETING setting restricts serving to that audience — the single most common way advertisers accidentally strangle a campaign. Targeting mode requires an explicit flag AND a loud preview warning stating the reach impact.
  2. The compatibility matrix from Add campaign type compatibility warnings to audience tools #44 becomes preview-time enforcement, per audience type × campaign type: custom segments rejected for Search, combined segments Search-only, detailed demographics per the matrix.
  3. PMax explicitly out of scope for v1 — PMax audiences are asset-group-level signals, a different API surface. The tool should refuse PMax campaigns with a pointer, not half-support them.
  4. Eligibility checks at preview: list size minimums, closed/populating status — fail at preview, not at apply.

Out of scope

Creating audiences (defining remarketing lists, building custom segments) — that's a separate, GDPR-sensitive surface (membership duration, consent) and shouldn't ride along.

Refs: #44 (compatibility matrix + insights, shipped in v0.10/v0.11).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions