Skip to content

Add campaign type compatibility warnings to audience tools #44

@luison

Description

@luison

Problem

get_audience_performance and GAQL custom_audience queries return audience segments without indicating which campaign types they're compatible with. This leads to proposing audience assignments that are impossible to execute.

Specifically: custom segments (custom_audience resource) cannot be assigned to Search campaigns — they only work in Display, Video, PMax, and Demand Gen. This is a Google Ads platform limitation, not an API limitation.

We spent significant time investigating why custom competition audiences ("Visitantes ES/EN competencia") couldn't be assigned to Search campaigns via the UI, only to discover the fundamental incompatibility.

Current behavior

  1. get_audience_performance returns audience data for all campaign types without distinguishing compatibility
  2. GAQL queries on custom_audience list segments without indicating which campaign types accept them
  3. Orchestration rules don't document the audience type → campaign type compatibility matrix
  4. No validation exists to warn when proposing incompatible audience assignments

Suggested improvements

1. Add compatibility info to get_audience_performance output

When the tool returns audience results, include a note or warning for audiences that cannot be assigned to the campaign's type. For example:

⚠️ Note: Custom segments (custom_audience) cannot be used in Search campaigns.
They are only compatible with Display, Video, Performance Max, and Demand Gen campaigns.

2. Document the compatibility matrix in orchestration rules

Add to the canonical rules file:

Audience Type Resource Search Display Video PMax Demand Gen
Custom segments custom_audience
Remarketing lists user_list
Affinity / In-market user_interest

3. Optional: validation helper

A validate_audience_assignment check (or inline logic in audience tools) that cross-references audience type with campaign type before suggesting assignment operations.

Context

  • AdLoop version: v0.9.0
  • Campaign types affected: SEARCH
  • Audience resources affected: custom_audience (type AUTO, INTEREST, PURCHASE_INTENT)
  • GAQL resources: custom_audience, campaign_criterion

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