Skip to main content
Version: 3.x

Pass-through values

Pass-through values allow publishers to send custom key-value data when sending a participant into a survey. These values are stored with the session and returned as parameters on your reward postback, and in the pass_through parameter of the post-survey redirect.

This is useful for passing internal identifiers such as:

  • Session IDs
  • Placement IDs
  • Campaign IDs
  • User segmentation flags
  • Any custom reconciliation metadata

Where to append pass-through values​

To use pass-through values:

  1. Take the survey's offer_entry_url from the GET /campaigns response.
  2. Append the pass_through_values parameter to that URL before redirecting the user.

Parameter format​

Append the following parameter to the end of the offer_entry_url:

&pass_through_values=<url_safe_base64_json>

Encoding requirements​

  • The value must be a JSON object (key-value pairs).
  • Encode the JSON string with URL-safe Base64.

Example​

Original JSON​

{
"session_id": "abc123",
"placement_id": "wall_top",
"campaign": "spring_promo"
}

Base64 encoded​

eyJzZXNzaW9uX2lkIjoiYWJjMTIzIiwicGxhY2VtZW50X2lkIjoid2FsbF90b3AiLCJjYW1wYWlnbiI6InNwcmluZ19wcm9tbyJ9

Final offer entry URL​

https://www.tapresearch.com/router/offers/28e0f041675fb74b7ef254482ad1d502/pre_entry?...&pass_through_values=eyJzZXNzaW9uX2lkIjoiYWJjMTIzIiwicGxhY2VtZW50X2lkIjoid2FsbF90b3AiLCJjYW1wYWlnbiI6InNwcmluZ19wcm9tbyJ9

Postback behavior​

Each key is returned as a separate parameter on the reward postback, covered by its signature. Choose names that do not conflict with standard postback fields.

Example postback parameters​

For the example above, a GET postback includes these parameters alongside the standard ones:

campaign=spring_promo&placement_id=wall_top&session_id=abc123

Error handling​

Send a JSON object encoded as URL-safe Base64. Invalid Base64 can prevent the survey session from starting; decoded data that is not a JSON object prevents reward postback delivery.

Best practices​

  • Keep the JSON payload small.
  • Use stable, predictable keys.
  • Avoid sending sensitive information.
  • Ensure values are unique per click when needed for reconciliation.
  • Use the reward postback fields, not pass-through values, to determine rewards.