Search documentation...

K

Campaigner

Enrich Campaigner with data from your warehouse to build robust email marketing campaigns to drive higher ROI and grow your audience.

Overview

Build more robust campaigns on Campaigner with up-to-date customer data from your data warehouse.

Why your email campaigns should be based off the warehouse

You want to create mailing lists using segmentation data that only co-exists in your data warehouse to increase the ROI from your email campaigns. By automatically syncing customer data from your data warehouse into Campaigner, you no longer need to worry about data consistency because data is no longer flowing in from multiple sources, and is always up-to-date allowing your team the luxury to focus on creating engaging content.

Getting Started

Step 1: Connect to Campaigner

Create an API user and retrieve the API Token from Campaigner.

  1. Log in to Campaigner.
  2. Visit Campaigner's Users Settings Page.
  3. Click on Create New User.
    Fill out User Information and select role
  4. Select API user from the User Role dropdown select, and fill out the information required in the User Profile tab.
  5. Click on Create API Key.
    Fill out User Information and select role
  6. Add the Hightouch IP Addresses to the IP Whitelist and click Save.
    Fill out User Information and select role
  7. Click on the newly created user and head to the API Keys tab and copy the API key.

Add Campaigner as a destination in Hightouch

  1. Log in to Hightouch or create a free Hightouch account
  2. Click on Destinations in the left sidebar
  3. Click on Add destination in the top right corner
  4. Select Campaigner in the destination catalog and click Continue to proceed
  5. Paste your API Key and click Continue to proceed
  6. Give your destination a name and unique slug (e.g., Campaigner Production” and Campaigner-production)
  7. Click Finish to create your Campaigner destination!

Step 2: Connect to your data source

Hightouch sits on top of your data warehouse and can read from Snowflake, Redshift, BigQuery, Databricks, Postgres, MySQL, and many other data sources. You can even fetch data from Google Sheets and Airtable. Hightouch can help activate your data wherever it resides.

We've written dedicated guides for each supported data source. Take your pick:

If you're missing the credentials necessary to connect to your data source, try inviting your teammates to Hightouch. You can have unlimited collaborators in your workspace!

Connect to a sample database instead

Waiting for credentials to your data warehouse? No problem! You can connect to one of our sample databases to get started right away. For the rest of this tutorial, we'll use our demo Postgres database, which contains a users table with names, emails, locations, and other user attributes. This sample source is available when you log in for the first time—no setup required.

Next, we'll write a SQL query to define which users should be synced to our Campaigner customers resource. You can follow the same pattern to sync to other support Campaigner resources,

Step 3: Create a model

In Hightouch, a model represents a query that filters or transforms the records in your data source. Models are used to determine exactly which records to sync between sources and destinations.

When you connect to a data warehouse, your models will probably be written in SQL. You can also import models from tools like dbt and Looker.

In this example, we'll keep it simple. Suppose you want to sync all your customers to Campaigner. To accomplish this, you'll want to create a model that looks like this:

SELECT * FROM users;
  1. Click on Models in the left sidebar.
  2. Click on Add model in the top right corner.
  3. Select Demo Database as your source and click Continue to proceed.
  4. Select SQL Editor as your modeling method.
  5. Paste the SQL query from above into the editor on the left side of the page.
  6. Click Preview to execute the query.
  7. Click Continue to proceed.
  8. Give your model a name and unique slug (e.g., "All Users" and all-users).
  9. Select id as the primary key for your model.
  10. Click Finish to create your model!

We just created a model using a SQL query that retrieves all our current users. Next, we'll configure our sync to add these users to Campaigner.

Step 4: Create a sync

  1. Click on Syncs in the left sidebar.
  2. Click on Add sync in the top right corner.
  3. Select All Users as your model and click Continue to proceed.
  4. Select Campaigner as your destination and click Continue to proceed.

Sync Configuration

Syncing Subscribers Object

Object Selection

Hightouch supports syncing to the following Campaigner resources:

  • Subscribers. Also referred to as Contacts on Campaigner.

Sync Modes

This integration supports Upsert and Update.

  • In Upsert mode, records that are not found in Campaigner given the provided identifier will be inserted. And existing records will be updated.

  • In Update mode, only records that are found in Campaigner given the provided identifier will be updated.

Record Matching

  • Records can be matched from your source to your Campaigner workspace by Email.

Field Mapping

Hightouch allows you to sync columns from your source to the supported Campaigner fields.

MappingTypeDescription
Source IDNumberThe ID of a valid Source this subscriber should be associated with.
PublicationsArrayAn array of Publication IDs to be associated with the subscriber.
ListsArrayAn array of List IDs to be associated with the subscriber.
OrdersArrayAn array of order objects.
ForceBooleanIf the Force parameter is true, "Removed" or "Bounced" subscriber statuses will be ignored and set back to "Active"
Force PublicationsBooleanSet this property to true if you want to force this subscriber back into a publication they might have previously requested removal from.

Custom Field Mapping

Hightouch allows you to set custom attributes. Any mappings from this section will be synced as custom fields. Campaigner expects custom properties to follow a PascalCase format.

Delete Records

When the Hightouch sync engine recognizes that a record has been removed from your source, you can either:

In Upsert mode:

  • Do Nothing.
  • Clear fields that are being synced in the destination.
  • Delete record in the destination.

In Update mode:

  • Do Nothing.
  • Clear fields that are being synced in the destination.

Clearing fields in Campaigner through Hightouch will not clear existing Publications and Lists from the Subscriber's record. However, It will reset the Source ID, and return the boolean mappings:Force Publications and Force to their default if they exist in your mappings.

Syncing Mailing Lists

  • Create a mailing list and/or add subscribers with the Mailing Lists integration.

Record Matching

  • Records can be matched from your source to your Campaigner workspace by Email.

Create A New Mailing List

  • To create a new mailing list, select Create a new segment.
  • You can provide a name for this mailing list, or Hightouch will use the name of the model used to create the sync.

Use An Existing Mailing List

  • To use an existing mailing list, select Use existing segment.
  • You can select any of your active Campaigner mailing lists from the drop-down select menu.
  • If you'd like to sync to segments dynamically, click on Use Column and pick a column from your model that contains the Campaigner Mailing List ID.

Syncing Suppression Lists

  • Add subscribers to suppression lists with Suppression Lists integration.

Record Matching

  • Records can be matched from your source to your Campaigner workspace by Email.

Use An Existing Suppression List

  • Campaigner does not provide the ability to create suppression lists programmatically.
  • You can select any of your active Campaigner suppression lists from the drop-down select menu.

Troubleshooting

Common errors

To date, our customers haven't experienced any errors while using the Campaigner destination. If you run into any issues, please reach out to us. We are here to help!

Use the Hightouch debugger

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

Set up sync alerts

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

    Need help?

    Our team is relentlessly focused on your success. We're ready to jump on a call to help unblock you.

    • Connection issues with your data warehouse?
    • Confusing API responses from destination systems?
    • Unsupported destination objects or modes?
    • Help with complex SQL queries?

    Feature Requests?

    If you see something that's missing from our app, let us know and we'll work with you to build it!

    We want to hear your suggestions for new sources, destinations, and other features that would help you activate your data.

On this page

OverviewWhy your email campaigns should be based off the warehouseGetting StartedStep 1: Connect to CampaignerStep 2: Connect to your data sourceStep 3: Create a modelStep 4: Create a syncSync ConfigurationSyncing Subscribers ObjectSyncing Mailing ListsSyncing Suppression ListsTroubleshootingCommon errorsUse the Hightouch debuggerSet up sync alerts

Was this page helpful?