Skip to content
ChangelogBook a demoSign up

Voucherify

Voucherify helps businesses quickly launch and manage promotions, loyalty programs, referrals, and gift cards through a flexible API-first platform, reducing development effort while enabling personalized customer incentives.

Voucherify is a promotion and loyalty platform for coupons, referrals, and loyalty programs. Hightouch keeps Voucherify customers up to date, tracks custom events against them, and maintains segment membership from your warehouse data.

Supported syncing

Sync TypeDescriptionSupported Sync ModesAPI Reference
CustomersSync data from any source to Contacts in VoucherifyUpsertUpsert a customer ↗
EventsSync data from any source to custom events in VoucherifyInsertTrack a custom event ↗
SegmentsSync data from any source to active segments in VoucherifyAdd, RemoveCreate a segment ↗

For more information about sync modes, refer to the sync modes docs.

Connect to Voucherify

Go to the Destinations overview page and click the Add destination button. Select Voucherify and click Continue. You can then authenticate Hightouch to Voucherify.

Enter the following fields into Hightouch:

  • Region — The region your Voucherify project is hosted in. Select EU, US, or APAC for a project on one of Voucherify's shared clusters, or Dedicated cluster if Voucherify assigned your project its own cluster.
  • Cluster ID — Required when the region is Dedicated cluster. See Connect a dedicated cluster.
  • Application ID — Your Voucherify application ID.
  • App token — The secret key paired with the application ID.

The application ID and token must be able to read segments, because Hightouch lists segments to test the connection.

Connect a dedicated cluster

Voucherify assigns one immutable API endpoint per project. A project on a dedicated cluster answers on its own host, and calls to a shared host fail even though the credentials are valid.

Find the endpoint in your Voucherify project settings and enter the first hostname label as the Cluster ID. For the endpoint https://cluster1.api.voucherify.io, the cluster ID is cluster1. Enter the label on its own, not the full URL.

Sync configuration

Once you've set up your Voucherify destination and have a model to pull data from, you can set up your sync configuration to begin syncing data. Go to the Syncs overview page and click the Add sync button to begin. Then, select the relevant model and the Voucherify destination you want to sync to.

Syncing customers

Sync data from any source to Contacts in Voucherify.

Record matching

To match rows from your model to customers in Voucherify, you need to select the model column that contains values that match the Source ID field. Refer to the record matching docs for more information.

Field mapping

Hightouch lets you sync customer fields via field mapping. You can map data from any of your model columns to default and custom customer fields. Ensure your model's columns have the same data types as the fields you want to sync to.

Delete behavior

The delete behavior you select dictates what to do when a row no longer appears in your model's query results. You have the following options:

BehaviorDescription
Do nothingKeep the customer in Voucherify with all its synced fields
DeleteDelete the synced customers from Voucherify

Use bulk ingestion

High-volume customer syncs can send batches to Voucherify's bulk ingestion endpoints instead of the standard API. See Bulk ingestion for when to turn it on and what you give up.

Syncing events

Sync data from any source to custom events in Voucherify.

To ensure syncs send each event, your event model must use a truly unique primary key. See the events syncs documentation for more information.

Record matching

You can match rows from your model to events in Voucherify on any column in your model and any field in Voucherify. Ensure the data types of the model column and Voucherify field you select match. Refer to the record matching docs for more information.

Field mapping

Hightouch lets you sync event properties via field mapping.

The event name must match a custom event schema defined in the Voucherify dashboard, and each metadata field you map must exist on that schema.

Use bulk ingestion

High-volume event syncs can send batches to Voucherify's bulk ingestion endpoints instead of the standard API. See Bulk ingestion for when to turn it on and what you give up.

Syncing segments

Sync data from any source to active segments in Voucherify.

Record matching

To match rows from your model to segments in Voucherify, you need to select the model column that contains values that match the Source ID field. Refer to the record matching docs for more information.

Field mapping

Hightouch lets you sync segment fields via field mapping. You can map data from any of your model columns to the default segment fields. Ensure your model's columns have the same data types as the fields you want to sync to.

Tips and troubleshooting

Bulk ingestion

Voucherify runs a separate pair of bulk ingestion endpoints for high-volume customer and event syncs. They accept a batch and queue it, rather than applying it during the request, which raises throughput well above the standard API.

Bulk ingestion is available on customer and event syncs. Segment syncs always use the standard API.

Two things must be true before you can use it:

  • Voucherify must enable bulk ingestion for your account. Ask your Voucherify account team.
  • The destination's region must be Dedicated cluster, because Voucherify serves the bulk endpoints per cluster rather than on the public API. A sync with bulk ingestion turned on against a shared region fails.

To turn it on, expand the optional settings at the bottom of the sync configuration and enable Use bulk ingestion. The switch is off by default, and existing syncs keep using the standard API until you turn it on.

Bulk ingestion gives up row-level error reporting. Voucherify acknowledges a batch before processing it, so a success means the batch was accepted, not applied, and rows Voucherify later rejects are never reported back. If Voucherify rejects the request itself, the whole batch fails rather than individual rows. Keep bulk ingestion off for any sync where you need to see which rows failed.

For Hightouch platform error codes related to Voucherify, see Error codes: Other destinations.

Validate your setup

After a sync run, open Customers in the Voucherify dashboard and search for a source ID from your model. Events appear on the customer's Activity timeline. For a bulk ingestion sync, allow extra time: Voucherify queues the batch and applies it after acknowledging it, so records appear after the sync run already reports success.

Common errors

If you encounter an error or question not listed below and need assistance, don't hesitate to . We're here to help.

Voucherify rejected the request: wrong_api_endpoint

403 wrong_api_endpoint

Cause: The destination points at a different cluster than the one Voucherify assigned your project. Because the endpoint is wrong rather than the credentials, the same misconfiguration returns a 401 on a sync run, which reads as a credentials problem.

Solution: Check the API endpoint in your Voucherify project settings. If it isn't one of the shared region hosts, set Region to Dedicated cluster and enter the cluster label as the Cluster ID. Voucherify's error names the correct host, and Hightouch surfaces it in the test connection message.

Missing cluster ID

This Voucherify destination is on a dedicated cluster but names no cluster ID.

Cause: The region is set to Dedicated cluster but no cluster ID is saved. Destinations created through the API can reach this state, because saving through the API doesn't run the form's validation.

Solution: Set the cluster ID to the first label of your Voucherify API endpoint, for example cluster1 for https://cluster1.api.voucherify.io.

Bulk ingestion on a shared region

This sync uses bulk ingestion, which Voucherify serves only on a dedicated cluster.

Cause: The sync has Use bulk ingestion enabled, but the destination's region is one of the shared clusters.

Solution: Set the destination's region to Dedicated cluster and enter your cluster ID, or turn bulk ingestion off for this sync.

Live debugger

Hightouch provides complete visibility into the API calls made during each of your sync runs. We recommend reading our article on debugging tips and tricks to learn more.

Sync alerts

Hightouch can alert you of sync issues via Slack, PagerDuty, SMS, or email. For details, please visit our article on alerting.

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Privacy PolicyTerms of Service