Skip to content

getKeywords

Retrieve keywords used for ad targeting. Optional options argument selects which sources to include.

getKeywords(options?)

Every flag defaults to false except manual, semantiq, priority which default to true.

Field Type Source
manual boolean page-level keywords set via updateKeywords(fn)
semantiq boolean Semantiq keywords (fetch is skipped when false)
priority boolean priority keywords set via updateKeywords(fn, true)
url boolean URL-derived keywords (adnz_domain, adnz_url, adnz_* from query)
window boolean window.audienzz.keywords
placement { elementId } placement-level keywords for one ad slot
bid { elementId } Xandr/winning-bid keywords for one ad slot

Returns Promise<Keywords> where Keywords = Record<string, string | string[] | undefined>.

Last write wins: manual → semantiq → url → window → placement → bid → priority.

// Default — backward compatible: manual + semantiq + priority
await window.htag.api('1').getKeywords();
// Skip the Semantiq fetch
await window.htag.api('1').getKeywords({ semantiq: false });
// Include URL + window sources
await window.htag.api('1').getKeywords({ url: true, window: true });
// Scope to a slot
await window.htag.api('1').getKeywords({
placement: { elementId: 'div-1' },
bid: { elementId: 'div-1' },
});
  • Semantiq result is cached per URL; repeated calls reuse the cache until the URL changes.
  • bid reads from Prebid — before start() finishes, the bid source resolves to {} instead of throwing.
  • placement/bid return {} for unknown elementId.