Skip to content

epic: improve support for influencer marketing #1839

@pkras

Description

@pkras

Summary:

The influencer channel already exists in AdCP and the brand protocol handles talent rights (get_rights, acquire_rights). However, the protocol lacks the primitives needed for full influencer marketing workflows - specifically creator identity linking, third-party trust/ethics certification (e.g. adethics.org), and standardized audience quality signals.

This proposal includes a targeted extension across various layers to support influencer marketing more holistically:

What already works:

  1. Influencer channel enum ; is distinct from social, covers direct creator partnerships
  2. Rights protocol; geographic limits, exclusivity, time-bound credentials, mid-contract revocation, disclosure requirements. The talent rights model in brand.json maps cleanly to influencer representation.
  3. Governance agents; property lists and content standards. An ethics certification list is a get_property_list with a trust source.
  4. Content standards; brand safety/suitability evaluation already supports external standard references.

What is missing:

  1. Creator identity object so there is linking properties to rights holders - this closes the loop between get_property_list (where can this creator's audience be reached) and get_rights (what can I license from this creator)
    A creator is simultaneously a property (their social accounts are where ads run) and a rights holder (their likeness and endorsement are licensable). These aren't currently linked. Proposal: a creator object on brand.json or a new creator.json discovery file that links:
  • Social account property identifiers (Instagram handle, YouTube channel ID, TikTok)
  • Rights agent URL
  • Representation (agency/management)
  • Category exclusions
  1. Trust signals on creator-properties - this lets governance agents serve certification status and naughty lists with provenance — who asserted it, when, and why. Buyer agents can filter on trust_signals the same way they filter on brand safety today. Governance agents can serve blocklists today but have no standard way to express why a creator is listed or what certifications they hold. Proposal: something like a trust_signals array on creator-properties carrying:
"trust_signals": [
  {
    "source": "adethics.org",
    "type": "certification",
    "status": "certified",
    "valid_until": "2026-12-31",
    "url": "https://adethics.org/verify/..."
  },
  {
    "source": "platform",
    "type": "flag",
    "reason": "undisclosed_sponsorship",
    "asserted_by": "https://governance.example.com",
    "asserted_at": "2025-11-01"
  }
]

  1. Ceator-level audience quality signals so that we extend the signals agent model as creator-scoped rather than impression-scoped signals.
    Impression-level signals (contextual, audience) don't map well to creator partnerships. Needed: creator-level signals a signals agent can return:
  • Audience authenticity score
  • Engagement rate (real vs. inflated)
  • Content consistency / brand safety history
  • Follower demographics
  • These would extend the signals agent model as creator-scoped rather than impression-scoped signals.

What we probably should not do

  • entirely new channel enum - we already have influencer
  • new agent type - we can extend governance, signals and brand
  • an influencer to influencer rep graph - governance agents with trust signals should be enough

I think the above should also not break anything, it's additive:
influencer channel - already exists, no changes needed
Rights protocol - already handles talent licensing, no schema changes
Governance agents - adding trust_signals to creator-properties is a new field, not a change to existing ones
Signals agents - creator-level signals are a new signal scope, doesn't conflict with impression-level signals

the only new primitive would be creative identity object linking properties to rights holder in this scenario which is a new schema not a modification.

Metadata

Metadata

Assignees

No one assigned

    Labels

    claude-triagedIssue has been triaged by the Claude Code triage routine. Remove to re-triage.rfcProtocol change — auto-adds to roadmap board

    Type

    No type

    Projects

    Status

    Exploring

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions