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.

FieldTypeSource
manualbooleanpage-level keywords set via updateKeywords(fn)
semantiqbooleanSemantiq keywords (fetch is skipped when false)
prioritybooleanpriority keywords set via updateKeywords(fn, true)
urlbooleanURL-derived keywords (adnz_domain, adnz_url, adnz_* from query)
windowbooleanwindow.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.