Skip to main content

Apester

Apester

DirectionSource
Environment
Web
Capability
Event Collection
SDK RequiredYes
Product(s) RequiredCore Platform

Apester enables publishers to collect first-party survey data through multiple-choice surveys on their website.

Overview

Apester allows you to run multiple-choice surveys on your site. This declared first-party data can be useful in building cohorts, whether for demographics or purchase intent. Unlike other survey platform integrations where you enable the integration from within the survey platform, Apester requires you to deploy custom JavaScript code on your website to enable the integration. You cannot initiate this integration from within the Apester platform. Use cases include:
  • Build cohorts based on survey responses (e.g., demographic segments, purchase intent)
  • Track survey question-level responses for advanced segmentation
  • Create audiences based on specific answer patterns

Environment Compatibility

EnvironmentSupportedNotes
WebYes
iOSNo
AndroidNo
CTVNo
API DirectNo

Prerequisites

  • Permutive SDK Deployment: The Permutive JavaScript SDK must be deployed on your website where Apester surveys will run.
  • Custom ApesterSurveyResponse Event: Contact your Permutive Customer Success Manager (CSM) to request the setup of the ApesterSurveyResponse custom event on your workspace. This event must be preconfigured before you can use the integration.
  • Access to Both Platforms: You need access to both your website codebase (to deploy the JavaScript code) and the Apester platform (to create and manage surveys).
  • Developer Resources: You will need developer support to add the integration code to your website.
  • Verify with your CSM: Confirm that this collector is part of your Permutive plan.

Setup

1

Request Custom Event Configuration

Contact your Permutive Customer Success Manager (CSM) to request the setup of the ApesterSurveyResponse custom event in your workspace. This step must be completed before proceeding with the code deployment.
2

Deploy Integration Code

Add the following JavaScript code to your website where Apester surveys are displayed. This code listens for survey responses and sends them to Permutive as ApesterSurveyResponse events.
window.addEventListener('message', (event) => {
  if (event && event.data && event.data.type === 'picked_answer') {
    var permutiveEventContent = {};
    [
      'interactionId',
      'interactionIndex',
      'interactionTitle',
      'answerId',
      'answerText',
      'slideId',
      'slideTitle',
      'externalId',
    ].forEach(function(property) {
      if (!event.data.data.hasOwnProperty(property) ||
          !event.data.data[property]) {
        return;
      }
      permutiveEventContent[property] = event.data.data[property] + '';
    });

    window.permutive.track('ApesterSurveyResponse', permutiveEventContent);
  }
});
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.
Ensure this code is placed on all pages where Apester surveys will be displayed and that it loads after the Permutive SDK.
3

Verify Event Collection

After deploying the integration code, run a test survey and submit responses. In your Permutive dashboard, navigate to the Events page and verify that ApesterSurveyResponse events are being collected. You should see recent events appearing in the Events list with the survey response data.
4

Build Survey-Based Cohorts

Once event collection is verified, you can build cohorts based on survey responses. In the Permutive cohort builder, the ApesterSurveyResponse event will appear in the event dropdown list.A common use case is to build a cohort of users who have answered a question in a certain way. For example, you can create cohorts for:
  • Users whose gender is “female”
  • Users interested in specific products or categories
  • Users who completed a particular survey
  • Demographic segments based on age, location, or other attributes

Data Types

With your Apester integration setup, you’ll see the following event type collected in Permutive:
This event is triggered when a user responds to an Apester survey question. The event captures details about the survey interaction, question, and answer provided.
interactionId
string
The Apester interaction ID. Example: 5cb48901b712a358aeb0180b
interactionIndex
string
The interaction index.
interactionTitle
string
Title is taken from the first text element on the first slide. Example: My great story
answerId
string
The answer ID. Example: 19174477-5b29-4044-b5bf-b683024aa420
answerText
string
Text of the answer provided by the user. Example: definitely gonna buy the new iPhone
slideId
string
The question ID. Example: 5cb48901b712a35acbb0180a
slideTitle
string
Text of the question. Example: What do you think of the new iPhone?
externalId
string
The external ID is taken from the external-id attribute on the embedded element. Example: 9864
ApesterSurveyResponse events will also contain default Permutive event properties such as page URL (client.url) and page title (client.title).

Troubleshooting

Verify the following:
  • The custom ApesterSurveyResponse event has been configured in your Permutive workspace. Contact your CSM if this step was missed.
  • The integration code has been deployed to all pages where Apester surveys are displayed.
  • The Permutive SDK is deployed and loading correctly on those pages. Use the Permutive Chrome Extension to verify SDK presence.
  • The integration code is loading after the Permutive SDK (check that window.permutive is available).
  • Check your browser’s developer console for any JavaScript errors that might prevent the code from executing.
The ApesterSurveyResponse event is a custom event that must be preconfigured by Permutive before the integration will work. If you deploy the integration code without this custom event being set up first, survey data will not be collected.Contact your Customer Success Manager to request the custom event setup.
If the integration code is deployed but not capturing responses:
  • Verify that Apester surveys are actually loading on the page and users are submitting responses.
  • Check that the message event data structure matches what the code expects (type: ‘picked_answer’).
  • Use your browser’s developer console to monitor message events and verify that Apester is sending the expected data structure.
  • Ensure the window.permutive.track() method is available when the code executes.
The integration code only captures fields that are present in the Apester message data. If certain fields like interactionIndex or externalId are not populated by Apester, they will not be included in the Permutive event.This is expected behavior. The code checks if each field exists and has a value before including it in the event data. Not all Apester survey configurations will populate all available fields.
For questions about this integration, contact Technical Services.

Changelog

For the latest updates and changes to this integration, visit changelog.permutive.com.