Opinary is a software platform that allows publishers to engage their audience by using interactive widgets on their website. The widgets include various types of polls that are designed to gather user opinions and generate insights.Unlike other survey integrations where the survey platform handles the integration setup, Opinary requires you to deploy custom JavaScript on your website to forward poll responses to Permutive. This declared first-party data is useful for building cohorts for demographics or purchase intent targeting.Use cases include:
Build cohorts based on poll responses (e.g., demographic segments, opinion-based targeting)
Track poll completion and question-level responses for advanced segmentation
Enrich audience profiles with opinion data collected through Opinary widgets
Permutive SDK Deployment: The Permutive JavaScript SDK must be deployed on your website where Opinary widgets will run.
Custom OpinarySurveyResponse Event: Contact your Permutive Customer Success Manager (CSM) to set up the OpinarySurveyResponse custom event on your workspace. This event must be preconfigured before using this integration.
Access to Opinary Platform: You must have access to the Opinary platform and polls configured on your website.
JavaScript Implementation Access: You need the ability to add custom JavaScript code to your website pages where Opinary polls are displayed.
Verify with your CSM: Confirm that this collector is part of your Permutive plan.
Contact your Permutive Customer Success Manager (CSM) to configure the OpinarySurveyResponse custom event on your workspace. This step must be completed before proceeding with the JavaScript implementation.
2
Deploy JavaScript Collector
Add the following JavaScript code to your website where Opinary polls are displayed. This code listens for Opinary vote events and forwards them to Permutive.
This code is provided “as is”, without warranty of any kind, express or implied. In no event shall Permutive be liable for any claim, damages, updates, or other liability.
This code should be placed on pages where Opinary polls are displayed, ensuring it loads after both the Permutive SDK and Opinary scripts.
3
Verify Data Collection
Once configured, poll responses from Opinary will be sent to Permutive as OpinarySurveyResponse events.To verify:
Navigate to the Permutive dashboard.
Go to Events and look for the OpinarySurveyResponse event type.
Check that poll response data is being collected.
Interact with an Opinary poll on your site and verify the event appears in your dashboard.
4
Build Survey-Based Cohorts
Once event collection is verified, you can build cohorts based on poll responses. In the Permutive cohort builder, the OpinarySurveyResponse event will appear in the event dropdown list.For example, you can create cohorts for:
Users who answered a specific poll question in a certain way (e.g., users whose gender is “female”)
Users who completed specific polls
Demographic segments based on poll responses
Opinion-based segments for targeted content or advertising
The integration code provided in the Primary Setup Steps is specifically for Web environments. No additional web-specific configuration is required beyond deploying the code snippet and ensuring the Permutive SDK is present on the page.The code listens for Opinary vote events and forwards them to Permutive via the window.permutive.track() method.
With your Opinary integration setup, you’ll see the following event type collected in Permutive:
OpinarySurveyResponse
The OpinarySurveyResponse event is triggered when a user votes on an Opinary poll. The event captures details about the survey, question, and answer provided.
OpinarySurveyResponse events are not appearing in Permutive
Verify the following:
The custom OpinarySurveyResponse event has been configured in your Permutive workspace. Check the Events page in your dashboard to confirm the event exists.
The Permutive SDK is deployed and loading correctly on the pages where your Opinary polls are displayed. Use the Permutive Chrome Extension or check for window.permutive in the browser console.
The Opinary SDK is loaded before the collector JavaScript runs. Check for window.Opinary in the browser console.
The collector JavaScript has been added to the page and is executing without errors. Check the browser console for JavaScript errors.
The poll.dmpIntegration flag is set to true in your Opinary poll configuration. This flag controls whether poll responses are sent to DMPs.
JavaScript errors when voting on polls
If you see JavaScript errors in the console:
Verify that both permutive and Opinary objects are available before the collector code runs.
Check that the Opinary SDK version you’re using supports the opinary.vote event and the OpinaryReady event.
Ensure there are no conflicts with other JavaScript libraries on the page.
Test the integration on a clean page with minimal JavaScript to isolate conflicts.
Custom event not configured in workspace
The OpinarySurveyResponse event is a custom event that must be preconfigured before the integration will work. If you attempt to deploy the JavaScript collector without this custom event being set up first, poll data will not be collected.Contact your Permutive Customer Success Manager (CSM) to request the custom event setup.
Unable to build cohorts using poll data
If the OpinarySurveyResponse event is not appearing in the cohort builder dropdown:
Confirm that events are being collected by checking the Events page in your dashboard.
Ensure at least one event has been received. Events only appear in the cohort builder after data has been collected.
Wait a few minutes after the first event is received, then refresh the cohort builder page.
Verify that the event schema includes the fields you want to use for cohort building.
If events are being collected but still not appearing, contact your Permutive CSM for assistance.
Some answer fields are empty or have default values
Not all Opinary poll types populate all fields in the OpinarySurveyResponse event:
Simple choice polls may only populate answer.text and answer.optionPosition.
Rating scale polls will populate answer.rawValue and may include answer.unit.
Spatial polls (like image grids) will populate answer.posX and answer.posY.
This is expected behavior. The collector code uses default values (0.0 for numbers, empty strings for text) for fields that don’t apply to the specific poll type.
Opinary polls not triggering the vote event
If polls display but votes are not being tracked:
Verify that the poll.dmpIntegration setting is enabled in your Opinary poll configuration.
Check that you’re using a compatible Opinary SDK version that supports the opinary.vote event.
Test with different poll types to determine if the issue is specific to certain poll formats.
Contact Opinary support to verify that your polls are configured correctly for DMP integration.