AdsWizz is an audio advertising platform that specializes in programmatic audio and podcast monetization. The AdsWizz integration enables real-time cohort activation and ad impression event collection across audio environments including web players, mobile apps, and smart speakers.This integration is Bidirectional:
Source: Permutive collects ad impression events from AdsWizz Audioserve campaigns, enabling cohort creation based on audio ad delivery data.
Destination: Permutive cohorts are activated for campaign targeting in AdsWizz. This integration supports two distinct activation methods:
Key-Value Activation: Real-time cohort activation via key-value targeting (Web, iOS, Android, API Direct). Cohort IDs are stored in local storage (Web), retrieved via SDK APIs (iOS/Android), or returned from the CCS API (API Direct), then appended to AdsWizz ad requests using the aw_0_1st.permutive custom parameter.Identity Based Activation: Server-to-server cohort activation where Permutive uploads audience data enriched with cohort memberships to AdsWizz, keyed by identity tags such as IDFA, AAID, and IP Address. See Supported Identity Tags for the full list. Cohorts appear as Audiences in AdsWizz.Use cases include:
Activate Permutive cohorts in AdsWizz for real-time audience targeting across audio inventory.
Collect impression data from AdsWizz campaigns to build cohorts based on audio ad exposure.
Target audio campaigns using first-party data segments from Permutive.
Enable cross-environment activation across web players, mobile apps, and smart speakers.
Activate audiences in environments without an SDK using identity-based, server-to-server delivery (Identity Based).
Leverage key-value targeting in AdsWizz with Permutive cohorts for flexible campaign configuration.
The table below shows which activation method is available for each environment:
Environment
Key-Value Activation
Identity Based Activation
Web
iOS
Android
API Direct
API Direct covers smart speakers, Alexa skills, and other environments where SDK deployment isn’t feasible. For Identity Based Activation in these environments, IP address is used as the identity tag.
These identity tags apply to Identity Based Activation only — Permutive uploads cohort memberships to AdsWizz keyed by the identifiers below. (Key-Value Activation does not use identity tags; it appends cohort IDs to ad requests client-side.)
Identity Tag (tag)
Description
Environment
idfa
Apple Identifier for Advertisers (IDFA)
iOS
aaid
Android Advertising ID (AAID)
Android
ip_address
IP Address
Web, smart speakers, and other environments without device IDs
Identity Based Activation requires that Permutive is collecting the identity tags you select. Work with your Permutive Customer Success Manager to ensure identity collection is configured properly for your desired tags.
Permutive SDK or API Key: The Permutive SDK must be deployed (Web/iOS/Android) or you must have a Permutive API key for API Direct implementations.
AdsWizz Account: Active AdsWizz account with access to Audioserve.
AdsWizz Technical Account Manager Coordination: Publishers must notify their AdsWizz Technical Account Manager to whitelist custom parameters for reporting, targeting, and forecasting.
For Impression Tracking: A custom event schema must be configured in Permutive (discuss with your Customer Success Manager), and the Permutive user ID must be passed in ad requests.
For Identity Based Activation:
AdsWizz Account: Active AdsWizz account with access to Audioserve.
Permutive Identity Collection: Identity collection must be configured in Permutive for the identity tags you want to send (see Supported Identity Tags).
AdsWizz Technical Account Manager Coordination: Publishers must coordinate with their AdsWizz Technical Account Manager to initiate the technical setup. AdsWizz provisions a bucket/path that Permutive uses to upload audience data files on the customer’s behalf.
Integration Enablement: Identity Based Activation is enabled by Permutive on request. Contact your Customer Success Manager to discuss enablement and timelines.
Navigate to the integrations page in the Permutive dashboard (Settings → Integrations) and enable the AdsWizz integration.
Click Settings in the navigation menu
Select Integrations
Find AdsWizz in the integrations catalog
Click to enable the integration
Once enabled, you can activate individual cohorts for AdsWizz via cohort settings or the cohort activations page.
2
Coordinate with AdsWizz Technical Account Manager
Contact your AdsWizz Technical Account Manager to whitelist the custom parameters you’ll be passing.The key-value format for Permutive cohorts is:
Key: aw_0_1st.permutive
Value: Comma-separated cohort IDs
Additionally, notify them about the Permutive user ID parameter:
Key: aw_0_1st.permutiveid
Value: Permutive user ID
The aw_0_1st prefix identifies first-party data collected by the publisher. This coordination is essential to enable reporting, targeting, and forecasting options within AdsWizz.
3
Activate Cohorts
In the Permutive dashboard, activate cohorts for AdsWizz:
Navigate to the cohort you want to activate
Go to cohort settings or the cohort activations page
Enable the AdsWizz activation for that cohort
Activated cohort IDs will be made available in the appropriate storage location for each environment.
4
Implement Cohort Activation Code
Follow the environment-specific implementation steps in the tabs below (Web, iOS, Android) to retrieve cohort IDs and append them to AdsWizz ad requests.For Smart Speaker environments, see the API Direct implementation details in the Web tab.
5
Optional: Set up Impression Tracking
If you want to collect impression events from AdsWizz campaigns for cohort building and analytics, discuss this with your Customer Success Manager first.This requires:
A custom event schema to be set up within Permutive
Permutive user ID to be passed in AdsWizz ad requests (as aw_0_1st.permutiveid)
Tracking pixel placed in Ad/Creative in Audioserve campaigns
Once the event schema is configured, you can proceed with implementing the impression tracking pixel (see Web tab for details).
To pass Permutive cohorts in your AdsWizz ad requests, retrieve cohort IDs from local storage and append them as key-value pairs to the ad request URL:
// Retrieve Permutive cohorts from local storagevar permutiveCohorts = JSON.parse(localStorage.getItem('_padswizz')) || [];// Retrieve Permutive user ID for impression trackingvar permutiveUserId = window.permutive.context.user_id || '';// Construct your AdsWizz ad request URLvar adsWizzUrl = 'https://[YOUR_ADSWIZZ_DOMAIN]/adserver/...';// Append Permutive cohorts as key-valuesif (permutiveCohorts.length > 0) { adsWizzUrl += '&aw_0_1st.permutive=' + permutiveCohorts.join(',');}// Append Permutive user ID for impression trackingif (permutiveUserId) { adsWizzUrl += '&aw_0_1st.permutiveid=' + permutiveUserId;}// Use the URL in your ad request// (Implementation varies based on your player setup)
Important Notes:
The Permutive SDK automatically populates the _padswizz local storage field with activated cohort IDs
Replace [YOUR_ADSWIZZ_DOMAIN] with your actual AdsWizz configuration
All custom parameters must use the aw_0_1st prefix to identify first-party publisher data
The same key-value format applies across all integration types (VAST, AIS, ORTB)
Ensure your AdsWizz TAM has whitelisted these parameters
Available AdsWizz Macros: The following macros can be used to capture impression metadata:
{campaignID} - Campaign ID
{ZoneId} - Zone ID
{publishername} - Publisher name
{listenerid} - Listener ID (AdsWizz user ID - cookie on web, MAID/device ID in other environments)
{campaignName} - Campaign name
{orderName} - Order name
{advertiserid} - Advertiser ID
{advertisername} - Advertiser name
For the full list of supported macros, consult your AdsWizz Technical Account Manager.
Custom Event Schema: Before implementing impression tracking, ensure your custom event schema has been configured in Permutive. Discuss with your Customer Success Manager to set this up.
Retrieve Permutive cohort IDs for AdsWizz using the activations property:
// Import Permutive SDKimport Permutive// Access AdsWizz Cohort IDs directlylet adsWizzCohorts: [String] = activations['adswizz_keyvalue']// Retrieve Permutive user ID for impression trackinglet permutiveUserId = Permutive.user.id ?? ""// Construct your AdsWizz ad request URLvar adsWizzUrl = "https://[YOUR_ADSWIZZ_DOMAIN]/adserver/..."// Append Permutive cohorts as key-valuesif !adsWizzCohorts.isEmpty { let cohortsString = adsWizzCohorts.joined(separator: ",") adsWizzUrl += "&aw_0_1st.permutive=\(cohortsString)"}// Append Permutive user ID for impression trackingif !permutiveUserId.isEmpty { adsWizzUrl += "&aw_0_1st.permutiveid=\(permutiveUserId)"}// Use the URL in your ad request
Important Notes:
The activations property provides direct access to cohort IDs configured for AdsWizz activation
Use the key adswizz_keyvalue to retrieve AdsWizz-specific cohorts
Replace [YOUR_ADSWIZZ_DOMAIN] with your actual AdsWizz configuration
All custom parameters must use the aw_0_1st prefix
Retrieve Permutive cohort IDs for AdsWizz using the TriggersProvider API. The callback is invoked whenever cohort membership changes:
val triggerAction: TriggerAction = triggersProvider.cohortActivations( activationType = "adswizz_keyvalue", callback = object : Method<List<String>> { override fun invoke(cohorts: List<String>) { if (cohorts.isNotEmpty()) { // Cohorts available for AdsWizz activation // Pass these to your AdsWizz ad requests as key-values println("AdsWizz cohorts: $cohorts") } else { println("No active cohorts with an AdsWizz activation configured.") } } })
Once you have the cohort IDs, append them to your AdsWizz ad request URL as key-values using the format aw_0_1st.permutive=[cohort_ids].Important Notes:
The TriggersProvider API allows you to listen for cohort membership changes
Use the activation type adswizz_keyvalue to retrieve AdsWizz-specific cohorts
All custom parameters must use the aw_0_1st prefix
In environments where it is not possible to deploy a Permutive SDK (e.g. some smart speaker environments), you can use Permutive’s CCS (Custom Cohort Segmentation) API for event tracking and segmentation instead.Access to this API requires customer-specific authorization. You will need a dedicated API key from Permutive.
The events array in the request is optional. If you only need to retrieve cohort memberships without tracking a new event, you can pass an empty array.
The API accepts a user identity passed in the alias object. Permutive then either links this identity to an existing Permutive user ID or creates a new Permutive user ID if the identity hasn’t been seen before.Identity Options for Smart Speakers:
Account-linked (authenticated) users: Use an internal cross-platform user ID that identifies the user across your environments
Non account-linked users: Use a device ID specific to the smart speaker
AdsWizz listener ID: Can also be used as the identity alias
For cross-environment segmentation and targeting, the identity provided should be consistent with identities used in your other environments (web, app).Example Response:
The API response includes cohort IDs for AdsWizz activation under the adswizz_keyvalue key within the activations object. These can then be passed to AdsWizz as key-values for activation using the same format: aw_0_1st.permutive=[cohort_ids].Important Notes:
Replace PERMUTIVE_API_KEY with your actual Permutive API key
The activations=true query parameter is required to receive activation data in the response
Contact your Permutive Customer Success Manager to enable Identity Based Activation for AdsWizz. This is a server-to-server integration that must be configured by Permutive.
2
Coordinate with AdsWizz Technical Account Manager
Contact your AdsWizz Technical Account Manager to initiate the technical setup on the AdsWizz side. AdsWizz provisions a bucket/path that Permutive uses to upload audience data files on your behalf, and shares the destination details with Permutive.
3
Configure in Permutive Dashboard
Once enabled, navigate to Settings → Integrations in the Permutive Dashboard. Find “AdsWizz (ID-based)” in the list of available integrations and click to configure it.
4
Select Identity Tags
Choose which identity tags you want to send to AdsWizz.See Supported Identity Tags for all available types. Select the tags that match your use case and the environments where you need activation.
5
Save Configuration
Save your configuration. Permutive will begin syncing cohort data to AdsWizz on a daily basis for users with the selected identity types.
6
Activate Cohorts
Navigate to your cohorts in the Permutive Dashboard and enable the “AdsWizz (ID-based)” activation toggle for each cohort you want to sync to AdsWizz.
7
Verify in AdsWizz
After the first sync completes (within 24 hours), check your AdsWizz dashboard to verify that audiences appear with names matching your activated cohorts.
Cohort data syncs to AdsWizz daily. Changes to cohort membership will be reflected in AdsWizz within 24 hours of the next scheduled sync.
Identity Based Activation for AdsWizz is enabled by Permutive on request. The integration approach has been mapped out with AdsWizz and can be made available within a few weeks of a customer request. Contact your Customer Success Manager to get started.
Identity Based Activation for Web enables server-to-server cohort syncing using IP Address. No SDK code changes are required to append cohorts to ad requests — activation happens server-to-server.How it works:
Permutive collects IP addresses from your web users
Cohort memberships are synced daily to AdsWizz server-to-server
Cohorts appear as Audiences in AdsWizz, ready for campaign targeting
Data syncing happens automatically once configured in the Permutive Dashboard
Prerequisites:
Permutive must be collecting IP addresses from your web environment
Work with your Permutive Customer Success Manager to ensure proper identity collection
Identity Based Activation for iOS enables server-to-server cohort syncing using IDFA (Identifier for Advertisers). No SDK code changes are required on iOS devices.How it works:
Permutive collects IDFA values from iOS users via the Permutive SDK
Cohort memberships are synced daily to AdsWizz server-to-server
Cohorts appear as Audiences in AdsWizz, ready for campaign targeting
Data syncing happens automatically once configured in the Permutive Dashboard
Prerequisites:
Permutive SDK must be deployed on your iOS app
IDFA collection must be enabled and properly configured
Users must grant tracking permission for IDFA to be available
Identity Based Activation for Android enables server-to-server cohort syncing using AAID (Android Advertising ID). No SDK code changes are required on Android devices.How it works:
Permutive collects AAID values from Android users via the Permutive SDK
Cohort memberships are synced daily to AdsWizz server-to-server
Cohorts appear as Audiences in AdsWizz, ready for campaign targeting
Data syncing happens automatically once configured in the Permutive Dashboard
Prerequisites:
Permutive SDK must be deployed on your Android app
AAID collection must be enabled and properly configured
Identity Based Activation for smart speakers and other server-side audio environments enables server-to-server cohort syncing using IP Address. No SDK deployment is required in the activation environment.How it works:
Permutive collects IP addresses from your smart speaker or server-side audio environments
Cohort memberships are synced daily to AdsWizz server-to-server
Cohorts appear as Audiences in AdsWizz, ready for campaign targeting
Data syncing happens automatically once configured in the Permutive Dashboard
Prerequisites:
Permutive must be collecting IP addresses from your smart speaker environment
Work with your Permutive Customer Success Manager to ensure proper identity collection
The AdsWizz integration involves the following data types. Impression events are collected into Permutive (Source), while cohort activation data is delivered to AdsWizz (Destination):
AdsWizz Impression
Fired when an audio ad impression is served through AdsWizz Audioserve. This event captures campaign, publisher, and listener metadata for cohort building and analytics.
The name of the advertiser associated with the impression.
Cohort Activation Data (Identity Based)
When you activate a cohort using Identity Based Activation, Permutive uploads audience data enriched with cohort memberships to AdsWizz via a server-to-server transfer.Data Transfer:
Cohort data is synced daily from Permutive to AdsWizz
Data is keyed by the identity tags you selected during configuration (see Supported Identity Tags)
Each user’s cohort memberships are associated with their identity values
AdsWizz Audiences:
Cohorts appear as Audiences in AdsWizz
Named using the cohort name from Permutive
Available for campaign targeting in AdsWizz’s audience targeting interface
Updated daily with the latest cohort membership data
Impression events require additional setup. A custom event schema must be configured in Permutive (discuss with your Customer Success Manager), and the tracking pixel must be placed in Ad/Creative in Audioserve campaigns. See the “Advanced: Enable Impression Event Collection” section in Setup for implementation details.
Cohorts not appearing in local storage or SDK APIs
Symptoms: Cohort IDs are not appearing in _padswizz local storage (Web) or not returned by SDK APIs (iOS/Android).Solutions:
Verify the AdsWizz integration is enabled in the Permutive dashboard (Settings → Integrations)
Check that cohorts have been activated for AdsWizz in the Permutive dashboard (via cohort settings or cohort activations page)
Ensure the Permutive SDK is properly deployed and initialized
For Web, check browser developer tools → Application → Local Storage to verify the _padswizz key exists
For iOS/Android, verify you’re using the correct activation type key (adswizz_keyvalue)
Cohorts not being passed in ad requests
Symptoms: Permutive cohorts are not included in AdsWizz ad request URLs, or targeting doesn’t work as expected.Solutions:
Verify cohort IDs are being retrieved correctly from local storage (Web) or SDK APIs (iOS/Android)
Ensure the key-value format is correct: aw_0_1st.permutive=[cohort_ids]
Confirm the custom parameters are being appended to the AdsWizz ad request URL
Check that the Permutive SDK loads before the AdsWizz ad request is made
Verify the cohorts are activated with an AdsWizz activation (not just other activations)
AdsWizz not recognizing key-values (whitelisting issue)
Symptoms: Key-values are being passed in ad requests but AdsWizz is not recognizing them for targeting or reporting.Solutions:
Contact your AdsWizz Technical Account Manager to whitelist the custom parameters
Confirm that the aw_0_1st.permutive and aw_0_1st.permutiveid parameters have been whitelisted
Verify the key-value format matches AdsWizz requirements (prefix aw_0_1st for first-party data)
Allow time for whitelisting changes to take effect in AdsWizz systems
Check AdsWizz campaign targeting interface to confirm parameters are available
Impression events not being collected
Symptoms: AdsWizz impression events are not appearing in Permutive analytics or event stream.Solutions:
Verify the tracking pixel has been added to Ad/Creative in AdsWizz Audioserve campaigns
Ensure the custom event schema has been configured in Permutive (discuss with your Customer Success Manager)
Confirm the Permutive user ID is being passed in ad requests (as aw_0_1st.permutiveid)
Check that the tracking pixel URL is correctly formatted with the Permutive API key
Verify AdsWizz macros are correctly replacing with actual values (e.g., {campaignID}, {ZoneId})
Test the tracking pixel URL manually to confirm it’s reachable
API Direct returning empty activations
Symptoms: The CCS API response includes an empty adswizz_keyvalue array or doesn’t include the key at all.Solutions:
Verify the AdsWizz integration is enabled in the Permutive dashboard
Check that cohorts have been activated for AdsWizz
Ensure the user identified in the API request (via alias) is a member of activated cohorts
Confirm the activations=true query parameter is included in the API request URL
Allow time for cohort membership to be computed after sending events
Verify the API key used in the request has the correct permissions
Issues with Identity Based Activation
Symptoms: Audiences are not appearing in AdsWizz, or cohort memberships are not syncing as expected.Solutions:
Verify that cohorts are activated with the “AdsWizz (ID-based)” toggle enabled in the Permutive Dashboard
Remember that cohort data syncs daily — allow up to 24 hours for changes to appear in AdsWizz
Confirm that Permutive is collecting the identity tags you selected (see Supported Identity Tags) by checking with your Permutive Customer Success Manager
Verify your selected identity tags are correct in Settings → Integrations
Confirm Identity Based Activation has been enabled for your workspace (this is enabled by Permutive on request)
For Identity Based Activation issues, contact your Permutive Customer Success Manager for assistance.
Documented Identity Based Activation for AdsWizz: server-to-server cohort upload keyed by IDFA, AAID, or IP Address, with cohorts appearing as Audiences in AdsWizz (available on request)