Index Exchange is a global ad exchange that helps publishers connect with premium demand through real-time bidding.
Overview
Index Exchange is a global ad exchange that helps publishers connect with premium demand through real-time bidding. Our integration with Index Exchange allows you to activate Permutive cohorts for targeting on Index Exchange’s supply-side platform.
This integration is a Destination:
- Destination: Permutive cohorts are activated and made available to Index Exchange for programmatic targeting. This integration supports two distinct activation methods:
Real-Time Bidstream Activation: Client-side cohort activation via Prebid. Cohort IDs are attached to bid requests as first-party data (following OpenRTB conventions) via Prebid.js (Web) and Prebid Mobile (iOS/Android). Index Exchange receives the cohort signals in the bid request and makes them available to demand partners in real time.
Identity Based Activation: Server-to-server cohort activation where Permutive delivers cohort memberships to Index Exchange keyed by identity tags such as IDFA, AAID, IP address, and ID5. See Supported Identity Tags for the full list. Cohorts are registered as segments in your Index Exchange account. No SDK or on-page implementation is required.
Use cases include:
- Cookie-less audience activation at scale: Activate Permutive cohort signals programmatically via the bidstream without reliance on third-party cookies, enabling addressable reach across all users
- Private Marketplace (PMP) deals: Use Custom Cohorts, DCR Cohorts, and Curated Cohorts to create premium, curated inventory packages for direct buyer relationships
- Open Marketplace (OMP) monetization: Leverage Standard Cohorts to make your audiences available to demand partners in the open auction, increasing bid density and CPMs
- Maximize programmatic yield: Make Permutive audiences available through Index Exchange’s ad exchange to increase competition and drive higher CPMs
- Cross-environment activation: Activate audiences across Web, in-app (iOS/Android), and CTV inventory through real-time bidstream or server-side identity-based methods
Choosing an Activation Method
Index Exchange supports two activation methods. Choose the method that best fits your use case:
The two methods are independent: each is enabled and configured separately, and activating a cohort for one does not activate it for the other.
Environment Compatibility
The table below shows which activation method is available for each environment:
For Real-Time Bidstream Activation, Web is live via the Permutive RTD module in Prebid.js; iOS and Android are supported via Prebid Mobile and require customer implementation; CTV and API Direct are available on request — discuss with your CSM. For Identity Based Activation, iOS uses IDFA, Android uses AAID, CTV uses IP address, and Web is addressable via the ID5 ID.
Supported Cohort Types
The Real-Time Bidstream method supports all current Permutive cohort types (Identity Based Activation is Custom Cohorts only). Availability depends on your workspace participating in the relevant Permutive offering.
Cohort type support beyond Web (bidstream)The Real-Time Bidstream availability shown above reflects Web today. In mobile (iOS/Android) and CTV environments where the bidstream method is available, cohort type support depends on the Permutive Mobile/CTV SDKs:
- Custom Cohorts — supported across all environments where this integration is available.
- Data Clean Room Cohorts — not currently exposed by the Permutive Mobile/CTV SDKs, but cohort signals can be retrieved with customer integration via an additional Permutive API call from your application code.
- Standard and Curation Cohorts — not currently exposed by the Permutive Mobile/CTV SDKs. Support is coming — reach out to your Customer Success Manager if you’re interested.
Cohort type availability also depends on your workspace participating in the relevant Permutive offering. Contact your Customer Success Manager to enable additional cohort types or discuss your use case.
These identity tags apply to Identity Based Activation only — Permutive delivers cohort memberships to Index Exchange keyed by the identifiers below. (Real-Time Bidstream Activation does not use identity tags; it attaches cohort IDs to bid requests client-side.)
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.
Prerequisites
Required for all activation methods:
- Index Exchange SSP Account — an active Index Exchange SSP account
For Real-Time Bidstream Activation (Web / Prebid.js):
- Permutive Web SDK — deployed on your site
- Prebid.js with Permutive RTD module — configured to pass cohort data to Index Exchange
- Index Exchange bidder adapter — the
ix bidder adapter configured in your Prebid.js setup (this is the bidder code for Index Exchange)
For Real-Time Bidstream Activation (iOS / Android / Prebid Mobile):
- Permutive Mobile SDK — deployed in your iOS / Android app
- Prebid Mobile SDK — configured in your app
- Prebid Server — that Prebid Mobile communicates with, with the
ix bidder configured (Prebid Mobile passes bid requests to Prebid Server, which handles bidder routing)
- Customer implementation — to retrieve Permutive cohorts from the SDK and attach them to Prebid Mobile bid requests
For Identity Based Activation:
- Index Exchange account ID — the numeric account ID issued by Index Exchange, so delivered segments are attributed to your account.
- Identity collection configured in Permutive — for the identity tags you want to activate (see Supported Identity Tags).
- Integration enabled by Permutive — your Customer Success Manager configures and enables the connector for your workspace.
Setup
Real-Time Bidstream Activation
Primary Setup Steps
Web
iOS
Android
CTV
Configure Cohort Activations
The Index Exchange SSP integration works automatically through Prebid.js once cohorts are activated. Navigate to the cohort you wish to activate in the Permutive dashboard.For Custom Cohorts (publisher-specific audiences), enable the Index Exchange SSP activation. When activated, cohort data will be stored in the _pindexs local storage key, which the Permutive RTD module reads and passes to Index Exchange.Custom Cohorts require explicit activation per cohort. Standard, Curated, and Data Clean Room cohorts are configured by your Customer Success Manager. Contact your CSM to enable these cohort types for your integration.
Verify Prebid.js Configuration
Ensure your Prebid.js configuration includes the Permutive RTD module with Index Exchange support:
Verify that the Permutive SDK is loading correctly and that cohort data is being written to local storage.
Verify Setup
After activating cohorts and configuring Prebid.js, verify that cohort data is being passed to Index Exchange in bid requests.Use the Professor Prebid Chrome extension (download here) to inspect bid requests:
- Install the Professor Prebid extension
- Open the extension while on your page
- Navigate to the “Bid Requests” tab
- Find Index Exchange (
ix) bidder requests
- Verify that the ORTB2 object contains Permutive cohort data in
ortb2.user.data and ortb2.user.keywords
Alternatively, use browser developer tools to:
- Check local storage for the
_pindexs key (Custom Cohorts) or _pssps key (Standard/Curated/DCR cohorts)
- Inspect network requests to Index Exchange endpoints
- Verify that the ORTB2 object in bid requests contains Permutive cohort data
It may take a few minutes for cohort membership to populate after initial page load.
Integrate with Prebid.js
The Index Exchange SSP integration works through the Permutive Real-Time Data (RTD) module in Prebid.js. The module reads cohort data from local storage (set by the Permutive SDK) and attaches it to bid requests as first-party data following OpenRTB 2.x conventions.Configuration
In your Prebid.js configuration, include the Permutive RTD module:How it Works
The Index Exchange SSP integration operates through a client-side mechanism:1. Local Storage Cohort ExposureThe Permutive Web SDK exposes cohort signals via local storage:
- Custom Cohorts: Stored in the
_pindexs local storage key
- Standard, Curated, and DCR Cohorts: Stored in the
_pssps local storage key
2. Real-Time Bid EnrichmentThe Permutive RTD module acts as a bridge between the Permutive Web SDK and Prebid.js:
- The Permutive RTD module reads cohort IDs from local storage (
_pindexs for Custom Cohorts, _pssps for Standard/Curated/DCR cohorts)
- Cohort data is attached to the ORTB2 object in bid requests for Index Exchange
- For Custom Cohorts, the module updates two locations:
ortb2.user.data – adds a data provider entry for permutive.com with the list of cohort IDs in the segment field
ortb2.user.keywords – adds a keyword group called permutive containing the list of cohort IDs
- Index Exchange receives cohort targeting data in the bid request and makes it available to demand partners (DSPs) for real-time targeting
Consent
While Permutive is listed as a TCF vendor (ID: 361), Permutive does not typically obtain vendor consent from the TCF, but instead relies on publisher purpose consents. Publishers wishing to use TCF vendor consent instead can add 361 to their CMP and set params.enforceVendorConsent to true:For more details on Prebid.js configuration, see the Prebid.js documentation.Index Exchange supports in-app inventory via Prebid Mobile (Prebid SDK for iOS). Prebid Mobile passes bid requests to a Prebid Server instance, which routes them to Index Exchange via the ix bidder. Activation of Permutive cohorts on iOS in-app traffic requires customer implementation to retrieve cohort signals from the Permutive Mobile SDK and attach them to Prebid Mobile bid requests.High-level pattern:
- Initialise the Permutive Mobile SDK in your iOS app.
- Retrieve the user’s active cohort IDs from the SDK.
- Attach the cohort IDs to your Prebid Mobile bid request configuration as first-party user data, matching the structure used by the Permutive RTD module on web — see the Web tab for the full ORTB2 mapping (
ortb2.user.data and ortb2.user.keywords).
- Verify that bid requests reaching Index Exchange (via your Prebid Server) carry Permutive cohort data.
Contact your Permutive Customer Success Manager — our team will partner with you on the integration. Index Exchange supports in-app inventory via Prebid Mobile (Prebid SDK for Android). Prebid Mobile passes bid requests to a Prebid Server instance, which routes them to Index Exchange via the ix bidder. Activation of Permutive cohorts on Android in-app traffic requires customer implementation to retrieve cohort signals from the Permutive Mobile SDK and attach them to Prebid Mobile bid requests.High-level pattern:
- Initialise the Permutive Mobile SDK in your Android app.
- Retrieve the user’s active cohort IDs from the SDK (e.g. via
TriggersProvider).
- Attach the cohort IDs to your Prebid Mobile bid request configuration as first-party user data, matching the structure used by the Permutive RTD module on web — see the Web tab for the full ORTB2 mapping (
ortb2.user.data and ortb2.user.keywords).
- Verify that bid requests reaching Index Exchange (via your Prebid Server) carry Permutive cohort data.
Contact your Permutive Customer Success Manager — our team will partner with you on the integration. CTV activation on Index Exchange typically depends on a server-side ad-serving setup (e.g. Prebid Server with SSAI). Permutive partners with your team on a tailored solution to enrich Index Exchange bid requests with cohort data.Contact your Permutive Customer Success Manager to discuss your CTV environment and the right activation approach. For server-side, SDK-less CTV inventory, consider Identity Based Activation using IP address.
Identity Based Activation
Primary Setup Steps
iOS
Android
CTV
Web
Confirm eligibility with your Permutive CSM
Discuss your use case with your Permutive Customer Success Manager, who will confirm server-side activation is the right path for your inventory and environments. This is a server-to-server integration that must be configured by Permutive.
Provide your Index Exchange account ID
Share the numeric account ID issued by Index Exchange with your Permutive CSM. Delivered segments are attributed to this account.
Permutive enables the integration
Your Permutive CSM configures and enables the connector for your workspace, including the identity tags to sync.
Select Identity Tags
Choose which identity tags you want to send to Index Exchange.See Supported Identity Tags for all available types. Select the tags that match your use case and the environments where you need activation. Activate Cohorts
In the Permutive Dashboard, navigate to your cohorts and enable the Index Exchange (ID-based) activation toggle for each cohort you want to sync.
Verify in Index Exchange
After the first sync completes, your cohorts appear as segments in your Index Exchange account, each named <cohort name> (<cohort short ID>). Confirm availability with your Index Exchange account team.
Cohort data syncs to Index Exchange on a scheduled basis (daily by default). Newly activated cohorts are registered on the next sync, and membership changes are reflected within 24 hours.
Identity Based Activation applies to Custom Cohorts only. Standard, Curated, and Data Clean Room cohorts reach Index Exchange through the Real-Time Bidstream method, not server-to-server.
Identity Based Activation for iOS syncs cohorts server-to-server 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 to Index Exchange server-to-server on a schedule
- Cohorts are registered as segments in your Index Exchange account, ready for 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 syncs cohorts server-to-server 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 to Index Exchange server-to-server on a schedule
- Cohorts are registered as segments in your Index Exchange account, ready for 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 CTV syncs cohorts server-to-server using IP address. No SDK deployment is required in the activation environment.How it works:
- Permutive collects IP addresses from your CTV environment
- Cohort memberships are synced to Index Exchange server-to-server on a schedule
- Cohorts are registered as segments in your Index Exchange account, ready for targeting
- Data syncing happens automatically once configured in the Permutive Dashboard
Prerequisites:
- Permutive must be collecting IP addresses from your CTV environment
- Work with your Permutive Customer Success Manager to ensure proper identity collection for CTV
Identity Based Activation for Web syncs cohorts server-to-server using the ID5 universal ID. No on-page implementation is required to deliver cohorts — activation happens server-to-server.How it works:
- Permutive resolves the ID5 ID for your web users
- Cohort memberships are synced to Index Exchange server-to-server on a schedule
- Cohorts are registered as segments in your Index Exchange account, ready for targeting
- Data syncing happens automatically once configured in the Permutive Dashboard
Prerequisites:
- ID5 must be configured so Permutive can collect the ID5 ID for your web users
- Work with your Permutive Customer Success Manager to ensure proper identity collection
Data Types
The Index Exchange integration is a destination-only integration focused on cohort activation. Permutive does not collect event data from Index Exchange.
Cohort Activation Data (Real-Time Bidstream)
When cohorts are activated via the Real-Time Bidstream method, Permutive passes cohort data to Index Exchange via the ORTB2 object in Prebid.js bid requests.ORTB2 Signal LocationsDifferent cohort types are written to specific ORTB2 locations:Local Storage KeysThe Permutive Web SDK exposes cohort data via local storage, which the Permutive RTD module reads to populate bid requests.Local storage key containing Custom Cohort IDs for Index Exchange.
Local storage key containing Standard Cohorts, Curated Cohorts, and Data Clean Room Cohorts.
Cohort Activation Data (Identity Based)
When you activate a cohort using Identity Based Activation, Permutive delivers cohort memberships to Index Exchange via a server-to-server transfer. Each synced cohort is registered as a segment in your Index Exchange account.
- Sync frequency: Daily by default
- Segment naming:
<cohort name> (<cohort short ID>), owned by your Index Exchange account ID
- Updates: Users entering or exiting a cohort are reflected in the next sync
- Full refresh: A complete refresh of all audience data runs periodically (configured by your CSM)
- Identifiers: Delivered per identity tag — mobile device IDs (IDFA/AAID), IP address, and ID5 ID (see Supported Identity Tags)
- Cohort types: Custom Cohorts only
Troubleshooting
Cohort data not appearing in bid requests (Bidstream)
If Permutive cohorts aren’t being passed to Index Exchange in your bid requests:
- Verify that the Permutive RTD module is properly configured in your Prebid.js setup
- Confirm that the Permutive SDK is loading correctly on your pages
- Use browser developer tools to inspect local storage and verify that the
_pindexs key (for Custom Cohorts) or _pssps key (for Standard/Curated/DCR cohorts) contains cohort data
- Check your Prebid.js console logs for any errors related to the Permutive RTD module
- Use the Professor Prebid Chrome extension to inspect ORTB2 data being sent to Index Exchange bid requests
- Inspect network requests to Index Exchange endpoints to verify ORTB2 data is present
If you see cohort data in local storage but not in bid requests, verify that your Prebid.js configuration includes waitForIt: true for the Permutive RTD module.
Empty _pindexs or _pssps local storage keys (Bidstream)
If local storage keys are empty or missing:
- Verify that Custom Cohorts have been activated in the Permutive dashboard with Index Exchange SSP enabled
- Check that users actually qualify for the activated cohorts based on cohort definitions
- Ensure the Permutive SDK is loading before Prebid.js attempts to read cohort data
- Verify that third-party cookies and local storage are not blocked by browser settings or extensions
- Check the browser console for any Permutive SDK errors during page load
Cohorts visible in local storage but not in Index Exchange UI (Bidstream)
If cohorts are being passed in bid requests but you don’t see them available for targeting in the Index Exchange UI:
- Verify with your Index Exchange account team that your SSP seat is configured to receive and process Permutive cohort data
- Check that DSPs connected to your Index Exchange seat have access to user data signals from the bid request
- Ensure that your Index Exchange line items or deals are configured to accept and use targeting data from the bid stream
- Confirm that the ORTB2 data structure matches Index Exchange’s expectations for user data and keywords
GDPR/consent issues blocking cohort signals (Bidstream)
In GDPR regions, consent management may affect cohort data transmission:
- Note: Permutive is a TCF vendor (ID: 361), but by default relies on publisher purpose consents rather than TCF vendor consent
- If you’ve enabled
params.enforceVendorConsent: true, verify that Permutive (vendor ID 361) is added to your CMP and consent is being collected
- Verify that your Consent Management Platform (CMP) is properly configured and Permutive has consent to process user data
- Check that the Permutive SDK is receiving consent signals correctly
- Ensure Prebid.js is configured to respect consent signals and only pass data when consent is granted
Professor Prebid extension not showing Index Exchange bids (Bidstream)
If you’re not seeing Index Exchange bid requests in the Professor Prebid Chrome extension:
- Verify that the
ix bidder adapter is properly configured in your Prebid.js setup
- Check that Index Exchange is enabled and actively bidding on your inventory
- Ensure you’re viewing the correct page where Index Exchange bidder is configured
- Try refreshing the page with the extension open to capture new bid requests
- Check your Prebid.js console logs to confirm Index Exchange bidder is being called
Segments not appearing in Index Exchange (Identity Based)
Possible causes:
- The integration was recently enabled and data hasn’t synced yet
- Cohorts are not activated for Index Exchange in the Permutive Dashboard
What to do:
- Check that your cohorts have the Index Exchange (ID-based) toggle enabled
- Allow 24–48 hours after initial activation for the first sync to complete
- Confirm that your cohorts have active members in Permutive
- Confirm with your Index Exchange account team that your account is set up to receive Permutive segments
- Contact your Permutive CSM if segments still don’t appear
Lower-than-expected audience size (Identity Based)
Possible causes:
- Identity match rates for your selected identity type(s)
- Overly restrictive cohort rules
- Identity collection not configured for all the tags you expect
What to do:
- Ask your Permutive CSM to confirm identity collection is working for your selected identity types
- Review your cohort rules to ensure they’re not too restrictive
- Allow 24–48 hours after initial activation for audiences to fully populate
Disabled cohorts still visible in Index Exchange (Identity Based)
Cause: When you disable a cohort activation in Permutive, delivery stops but the previously-registered segment isn’t automatically removed from Index Exchange.What to expect:
- After disabling, no new data is sent for that segment and its membership decays as data stops flowing
- The segment may linger in Index Exchange until it expires or is removed
- If you need a segment removed sooner, contact your Index Exchange account team
Changelog
August 2026
- Added server-side Identity Based Activation for Index Exchange (IDFA, AAID, IP address, ID5)
For detailed changelog information, visit our
Changelog.