Listrak integration summary

Stitch’s Listrak integration replicates data using the Listrak SOAP API. Refer to the Schema section for a list of objects available for replication.

Listrak feature snapshot

A high-level look at Stitch's Listrak (v1) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release status

Released on June 27, 2018

Supported by

Singer Community

Stitch plan

Standard

API availability

Available

Singer GitHub repository

singer-io/tap-listrak

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Unsupported

Table-level reset

Unsupported

Configurable Replication Methods

Unsupported

DATA SELECTION
Table selection

Supported

Column selection

Unsupported

Select all

Supported

TRANSPARENCY
Extraction Logs

Supported

Loading Reports

Supported

Connecting Listrak

Step 1: Create a Listrak Stitch user

  1. Sign into your Listrak account.
  2. From the home page, click Manage.
  3. Click Accounts > User Manager.
  4. Scroll to the bottom of the page and click Create New User.
  5. Fill in the User Information fields.
  6. In the Lists section, select the lists you want the Stitch user to have access to. Note: Stitch will only be able to replicate data for lists that it is able to access.
  7. For Granted Access, select Role Based Access.
  8. In the section below this field, select check the boxes for the following permissions:
    • Analytics Access - This allows the Stitch user to view analytics for messages, contacts, and lists for available lists.
    • API Access - This allows the Stitch user to replicate data from your Listrak using the Listrak API.
  9. Click Add User when finished.

Step 2: Add Stitch IP Addresses to Listrak's SOAP API whitelist

To ensure Stitch can access your Listrak instance, you’ll need to whitelist Stitch’s IP addresses.

Step 2.1: Verify your Stitch account's data pipeline region

The IP addresses you’ll whitelist depend on the Data pipeline region your account is in.

  1. Sign into your Stitch account, if you haven’t already.
  2. Click User menu (your icon) > Manage Account Settings and locate the Data pipeline region section to verify your account’s region.
  3. Locate the list of IP addresses for your region:

Keep this list handy - you’ll need it in the next step.

Step 2.2: Add the IP addresses to the SOAP API whitelist

  1. In your Listrak account, navigate to Manage > Accounts > SOAP API IP Authorization.
  2. Add the Stitch IP addresses that you retrieved in the previous step.

Step 3: Add Listrak as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the Listrak icon.

  4. Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.

    For example, the name “Stitch Listrak” would create a schema called stitch_listrak in the destination. Note: Schema names cannot be changed after you save the integration.

  5. In the Username field, enter the Stitch Listrak user’s username.
  6. In the Password field, enter the Stitch Listrak user’s password.

Step 4: Define the historical replication start date

The Sync Historical Data setting defines the starting date for your Listrak integration. This means that data equal to or newer than this date will be replicated to your data warehouse.

Change this setting if you want to replicate data beyond Listrak’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 5: Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

Listrak integrations support the following replication scheduling methods:

To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Initial and historical replication jobs

After you finish setting up Listrak, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.

Free historical data loads

The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.


Listrak table reference

lists

The lists table contains info about your contact lists.

Replication Method

Full Table

Primary Key

ListID

Useful links

Listrak documentation

lists schema on GitHub

Listrak API method

Join lists with on
messages
lists.ListID = messages.ListID
subscribed_contacts
lists.ListID = subscribed_contacts.ListID

BounceUnsubscribeCount

INTEGER

CreateDate

DATE-TIME

DomainAliasEmail

STRING

DomainAliasLink

STRING

EnableBrowserLink

BOOLEAN

EnableDoubleOptin

BOOLEAN

EnableDynamicContent

BOOLEAN

EnableGoogleAnalytics

BOOLEAN

EnableInternationalization

BOOLEAN

EnableListHygiene

BOOLEAN

EnableListRemoveHeader

BOOLEAN

EnableRSS

BOOLEAN

EnableRemovalLink

BOOLEAN

FromEmail

STRING

FromName

STRING

GoogleTrackingDomains

ARRAY

ListID

INTEGER

ListName

STRING

ShowAdvancedPersonalization

BOOLEAN

ShowEmailList

BOOLEAN

Vmta

OBJECT

Description

STRING

VmtaID

INTEGER

bounceHandling

INTEGER

message_bounces

The message_bounces table contains info about contact bounces for a message.

Replication Method

Full Table

Primary Keys

MsgID

EmailAddress

Useful links

Listrak documentation

message_bounces schema on GitHub

Listrak API method

Join message_bounces with on
message_clicks
message_bounces.ContactID = message_clicks.ContactID
message_bounces.MsgID = message_clicks.MsgID
message_opens
message_bounces.ContactID = message_opens.ContactID
message_bounces.MsgID = message_opens.MsgID
message_reads
message_bounces.ContactID = message_reads.ContactID
message_bounces.MsgID = message_reads.MsgID
message_unsubs
message_bounces.ContactID = message_unsubs.ContactID
message_bounces.MsgID = message_unsubs.MsgID
subscribed_contacts
message_bounces.ContactID = subscribed_contacts.ContactID
message_sends
message_bounces.MsgID = message_sends.MsgID
messages
message_bounces.MsgID = messages.MsgID

BounceCount

INTEGER

BounceDate

STRING

BounceDetail

STRING

BounceReason

STRING

ContactID

STRING

EmailAddress

STRING

MsgID

INTEGER

message_clicks

The message_clicks table contains info about contact clicks for a message.

Replication Method

Full Table

Primary Keys

MsgID

EmailAddress

Useful links

Listrak documentation

message_clicks schema on GitHub

Listrak API method

Join message_clicks with on
message_bounces
message_clicks.ContactID = message_bounces.ContactID
message_clicks.MsgID = message_bounces.MsgID
message_opens
message_clicks.ContactID = message_opens.ContactID
message_clicks.MsgID = message_opens.MsgID
message_reads
message_clicks.ContactID = message_reads.ContactID
message_clicks.MsgID = message_reads.MsgID
message_unsubs
message_clicks.ContactID = message_unsubs.ContactID
message_clicks.MsgID = message_unsubs.MsgID
subscribed_contacts
message_clicks.ContactID = subscribed_contacts.ContactID
message_sends
message_clicks.MsgID = message_sends.MsgID
messages
message_clicks.MsgID = messages.MsgID

ClickDate

STRING

ContactID

STRING

EmailAddress

STRING

LinkDescription

STRING

LinkUrl

STRING

MsgID

INTEGER

message_opens

The message_opens table contains info about contact opens for a message.

Replication Method

Full Table

Primary Keys

MsgID

EmailAddress

Useful links

Listrak documentation

message_opens schema on GitHub

Listrak API method

Join message_opens with on
message_bounces
message_opens.ContactID = message_bounces.ContactID
message_opens.MsgID = message_bounces.MsgID
message_clicks
message_opens.ContactID = message_clicks.ContactID
message_opens.MsgID = message_clicks.MsgID
message_reads
message_opens.ContactID = message_reads.ContactID
message_opens.MsgID = message_reads.MsgID
message_unsubs
message_opens.ContactID = message_unsubs.ContactID
message_opens.MsgID = message_unsubs.MsgID
subscribed_contacts
message_opens.ContactID = subscribed_contacts.ContactID
message_sends
message_opens.MsgID = message_sends.MsgID
messages
message_opens.MsgID = messages.MsgID

ContactID

STRING

EmailAddress

STRING

MsgID

INTEGER

OpenDate

STRING

message_reads

The message_reads table contains info about contact reads for a message.

Replication Method

Full Table

Primary Keys

MsgID

EmailAddress

Useful links

Listrak documentation

message_reads schema on GitHub

Listrak API method

Join message_reads with on
message_bounces
message_reads.ContactID = message_bounces.ContactID
message_reads.MsgID = message_bounces.MsgID
message_clicks
message_reads.ContactID = message_clicks.ContactID
message_reads.MsgID = message_clicks.MsgID
message_opens
message_reads.ContactID = message_opens.ContactID
message_reads.MsgID = message_opens.MsgID
message_unsubs
message_reads.ContactID = message_unsubs.ContactID
message_reads.MsgID = message_unsubs.MsgID
subscribed_contacts
message_reads.ContactID = subscribed_contacts.ContactID
message_sends
message_reads.MsgID = message_sends.MsgID
messages
message_reads.MsgID = messages.MsgID

ContactID

STRING

EmailAddress

STRING

MsgID

INTEGER

ReadDate

STRING

message_sends

The message_sends table contains MsgID and EmailAddress pairs, allowing you to identify the messages that your contacts have been sent.

Replication Method

Full Table

Primary Keys

MsgID

EmailAddress

Useful links

Listrak documentation

message_sends schema on GitHub

Listrak API method

Join message_sends with on
message_bounces
message_sends.MsgID = message_bounces.MsgID
message_clicks
message_sends.MsgID = message_clicks.MsgID
message_opens
message_sends.MsgID = message_opens.MsgID
message_reads
message_sends.MsgID = message_reads.MsgID
message_unsubs
message_sends.MsgID = message_unsubs.MsgID
messages
message_sends.MsgID = messages.MsgID

EmailAddress

STRING

MsgID

INTEGER

message_unsubs

The message_unsubs table contains info about contacts who requested to be removed from a list from the supplied message.

Replication Method

Full Table

Primary Keys

MsgID

EmailAddress

Useful links

Listrak documentation

message_unsubs schema on GitHub

Listrak API method

Join message_unsubs with on
message_bounces
message_unsubs.ContactID = message_bounces.ContactID
message_unsubs.MsgID = message_bounces.MsgID
message_clicks
message_unsubs.ContactID = message_clicks.ContactID
message_unsubs.MsgID = message_clicks.MsgID
message_opens
message_unsubs.ContactID = message_opens.ContactID
message_unsubs.MsgID = message_opens.MsgID
message_reads
message_unsubs.ContactID = message_reads.ContactID
message_unsubs.MsgID = message_reads.MsgID
subscribed_contacts
message_unsubs.ContactID = subscribed_contacts.ContactID
message_sends
message_unsubs.MsgID = message_sends.MsgID
messages
message_unsubs.MsgID = messages.MsgID

AdditionDate

STRING

ContactID

STRING

EmailAddress

STRING

MsgID

INTEGER

RemovalDate

STRING

RemovalMethod

STRING

messages

The messages table contains info about message statistics.

Replication Method

Full Table

Primary Key

MsgID

Useful links

Listrak documentation

messages schema on GitHub

Listrak API method

Join messages with on
message_bounces
messages.MsgID = message_bounces.MsgID
message_clicks
messages.MsgID = message_clicks.MsgID
message_opens
messages.MsgID = message_opens.MsgID
message_reads
messages.MsgID = message_reads.MsgID
message_sends
messages.MsgID = message_sends.MsgID
message_unsubs
messages.MsgID = message_unsubs.MsgID
lists
messages.ListID = lists.ListID
subscribed_contacts
messages.ListID = subscribed_contacts.ListID

AverageOrderValue

NUMBER

ClickCount

INTEGER

ClickerCount

INTEGER

ClickerPercent

NUMBER

ConversionCount

INTEGER

DeliverCount

INTEGER

ListID

INTEGER

MsgID

INTEGER

NewClickerCount

INTEGER

OpenCount

INTEGER

OpenPercent

NUMBER

OrderTotal

NUMBER

ReadCount

INTEGER

ReadPercent

NUMBER

RemoveCount

INTEGER

RemovePercent

NUMBER

RepeatClickerCount

INTEGER

SendDate

DATE-TIME

Subject

STRING

subscribed_contacts

The subscribed_contacts table contains info about contacts who are currently subscribed to the specified list.

Replication Method

Full Table

Primary Keys

ContactID

ListID

Useful links

Listrak documentation

subscribed_contacts schema on GitHub

Listrak API method

Join subscribed_contacts with on
message_bounces
subscribed_contacts.ContactID = message_bounces.ContactID
message_clicks
subscribed_contacts.ContactID = message_clicks.ContactID
message_opens
subscribed_contacts.ContactID = message_opens.ContactID
message_reads
subscribed_contacts.ContactID = message_reads.ContactID
message_unsubs
subscribed_contacts.ContactID = message_unsubs.ContactID
lists
subscribed_contacts.ListID = lists.ListID
messages
subscribed_contacts.ListID = messages.ListID

AdditionDate

DATE-TIME

AdditionMethod

STRING

ContactID

STRING

EmailAddress

STRING

ListID

INTEGER


Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.