Skip to main content
A signal is a named targeting segment your inventory can deliver against: an age range, a content theme, a market. The Signals page lists the ones you’ve registered and suggests more from your catalog. Open it in the app, ask Semi “show me my signals”, or call open_page with page: "signals" (optionally with a sourceId to focus one inventory source).
Signals are recorded on your storefront today and count toward storefront readiness. Buyers can’t discover or target them yet: your storefront doesn’t answer AdCP get_signals, and signals aren’t attached to the products buyers see.

The page

The table shows each signal with its Signal name, Type, Coverage and Actions, filtered by inventory source (All sources by default).

Suggested from your catalog

“Signals your products already support.” Suggestions come from your own catalog and listing, each with the evidence that produced it:
  • Age ranges declared on a product become audience signals such as “Adults 25–54” (evidence: “Age range 25–54 on …”).
  • Content themes in product names and descriptions become contextual signals such as “Food & cooking content” or “Travel content”.
  • Accepted countries on your listing become geographic signals such as “Located in US”.

Add, archive and restore

save_signal does all three. Semi asks you to confirm first, and only admins can change signals.
Each change is recorded in your storefront Activity. From an agent, search with kind: "signal" finds your signals (query matches the name, key, description and kind, and filter.status is active or archived), and get with the signalId reads one.

Not available yet

  • AdCP get_signals for buyers, and signal discovery across signals agents.
  • REST endpoints for signals (/signals); manage them in the app or over MCP.
  • Signals backed by ad-server targeting keys, access records per buyer, and signal pricing.