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, CTV, 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 in AdsWizz ad requests via key-value pairs, with cohort IDs stored in local storage (Web) or retrieved via SDK APIs (iOS/Android) or API Direct (CTV/Smart Speakers).
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, smart speakers, and CTV.
Leverage key-value targeting in AdsWizz with Permutive cohorts for flexible campaign configuration.
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.
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 CTV and 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:
Copy
Ask AI
// 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:
Copy
Ask AI
// 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:
Copy
Ask AI
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
With your AdsWizz integration setup, you’ll see the following additional event types collected in Permutive:
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.
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.