This integration is powered by Singer's Listrak tap. For support, visit the GitHub repo or join the Singer Slack.
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 | |
Stitch plan |
Standard |
API availability |
Available |
Singer GitHub repository | |||
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
Note: Listrak user limits
While we recommend doing creating a user for Stitch to ensure we’re visible in any logs or audits, it may not be feasible as Listrak limits each account to five users.
Should you choose not to create a user for us, you should verify that the user who creates the integration in Stitch has:
- Access to the Listrak lists you want to replicate, and
- The permissions listed in Step 8 of this section.
- Sign into your Listrak account.
- From the home page, click Manage.
- Click Accounts > User Manager.
- Scroll to the bottom of the page and click Create New User.
- Fill in the User Information fields.
- 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.
- For Granted Access, select Role Based Access.
- 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.
- 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.
- Sign into your Stitch account, if you haven’t already.
- Click User menu (your icon) > Manage Account Settings and locate the Data pipeline region section to verify your account’s region.
-
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
- In your Listrak account, navigate to Manage > Accounts > SOAP API IP Authorization.
- Add the Stitch IP addresses that you retrieved in the previous step.
Step 3: Add Listrak as a Stitch data source
- Sign into your Stitch account.
-
On the Stitch Dashboard page, click the Add Integration button.
-
Click the Listrak icon.
-
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. - In the Username field, enter the Stitch Listrak user’s username.
- 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:
- For tables using Key-based Incremental Replication, data equal to or newer than this date will be replicated to your destination.
- For tables using Full Table Replication, all data - including records that are older, equal to, or newer than this date - will be replicated to your destination.
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.
Initial replication jobs with Anchor Scheduling
If using Anchor Scheduling, an initial replication job may not kick off immediately. This depends on the selected Replication Frequency and Anchor Time. Refer to the Anchor Scheduling documentation for more information.
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
Schemas and versioning
Schemas and naming conventions can change from version to version, so we recommend verifying your integration’s version before continuing.
The schema and info displayed below is for version 1 of this integration.
This is the latest version of the Listrak integration.
Table and column names in your destination
Depending on your destination, table and column names may not appear as they are outlined below.
For example: Object names are lowercased in Redshift (CusTomERs
> customers
), while case is maintained in PostgreSQL destinations (CusTomERs
> CusTomERs
). Refer to the Loading Guide for your destination for more info.
Replication Method : |
Full Table |
Primary Key |
ListID |
API endpoint : |
The lists
table contains info about your contact lists.
ListID
The list ID. Reference: |
|
bounceHandling
Indicates how bounces are handled for the list. |
|
BounceUnsubscribeCount
The number of bounces allowed before being automatically unsubscribed from the list. |
|
CreateDate
The time the list was created. |
|
DomainAliasEmail
The alias email for emails in the list’s messages. |
|
DomainAliasLink
The alias domain for links in the list’s messages. |
|
EnableBrowserLink
If |
|
EnableDoubleOptin
If |
|
EnableDynamicContent
If |
|
EnableGoogleAnalytics
If |
|
EnableInternationalization
If |
|
EnableListHygiene
If |
|
EnableListRemoveHeader
If |
|
EnableRemovalLink
If |
|
EnableRSS
If |
|
FromName
The |
|
FromEmail
The |
|
GoogleTrackingDomains
The Google tracking domains associated with the list.
|
|
ListName
The name of the list. |
|
ShowAdvancedPersonalization
If |
messages
Replication Method : |
Full Table |
Primary Key |
MsgID |
API endpoint : |
The messages
table contains info about message statistics.
MsgID
The message ID. Reference: |
AverageOrderValue
The average order value associated with the message. |
ClickCount
The current number of clicks for the message. |
ClickerCount
The current number of contacts who clicked for the message. |
ClickerPercent
The percent of contacts who clicked the message. |
ConversionCount
The current number of conversions for the message. |
DeliverCount
The current number of messages delivered. |
ListID
The ID of the list the message was sent to. Reference: |
NewClickerCount
The current number of new clickers for the message. |
OpenCount
The current number of opens for the message. |
OpenPercent
The percentage of contacts who opened the message. |
OrderTotal
The order total associated with the message. |
ReadCount
The current number of reads for the message. |
ReadPercent
The percentage of contacts who read the message. |
RemovePercent
The percentage of contacts who unsubscribed as a result of the message. |
RemoveCount
The current number of unsubscribes for the message. |
RepeatClickerCount
The current number of contacts who clicked multiple times for the message. |
SendDate
The date the message was sent. |
Subject
The subject of the message. |
message_bounces
Replication Method : |
Full Table |
Primary Key |
MsgID : EmailAddress |
API endpoint : |
The message_bounces
table contains info about contact bounces for a message.
MsgID
The ID of the message that bounced. Reference: |
EmailAddress
The email address associated with the bounce. |
ContactID
The ID of the contact that the bounced message was sent to. Reference: |
BounceReason
An explanation for the reason for the bounce. |
BounceDetail
Additional detail about the bounce. |
BounceDate
The date that the bounce occurred. |
BounceCount
The number of bounces for the message. |
message_clicks
Replication Method : |
Full Table |
Primary Key |
MsgID : EmailAddress |
API endpoint : |
The message_clicks
table contains info about contact clicks for a message.
MsgID
The message ID that contains the link that was clicked. Reference: |
EmailAddress
The email address of the contact who clicked the link. |
ContactID
The ID of the contact who clicked the link. Reference: |
LinkUrl
The URL of the link. |
ClickDate
The date the contact clicked the link. |
LinkDescription
A description of the link. |
message_opens
Replication Method : |
Full Table |
Primary Key |
MsgID : EmailAddress |
API endpoint : |
The message_opens
table contains info about contact opens for a message.
MsgID
The ID of the message that was opened. Reference: |
EmailAddress
The email address of the contact that opened the email. |
ContactID
The ID of the contact that opened the email. Reference: |
OpenDate
The date the contact opened the email. |
message_reads
Replication Method : |
Full Table |
Primary Key |
MsgID : EmailAddress |
API endpoint : |
The message_reads
table contains info about contact reads for a message.
MsgID
The ID of the message that was read. Reference: |
EmailAddress
The email address of the contact who read the message. |
ContactID
The ID of the contact who read the message. Reference: |
ReadDate
The date the contact read the message. |
message_sends
Replication Method : |
Full Table |
Primary Key |
MsgID : EmailAddress |
API endpoint : |
The message_sends
table contains MsgID
and EmailAddress
pairs, allowing you to identify the messages that your contacts have been sent.
MsgID
The ID of the message that was sent. Reference: |
EmailAddress
The email address that the message was sent to. |
message_unsubs
Replication Method : |
Full Table |
Primary Key |
MsgID : EmailAddress |
API endpoint : |
The message_unsubs
table contains info about contacts who requested to be removed from a list from the supplied message.
MsgID
The ID of the message that resulted in the unsubscribe. Reference: |
EmailAddress
The email address that requested the unsubscribe. |
ContactID
The ID of the contact who unsubscribed. Reference: |
AdditionDate
The date the contact initially subscribed. |
RemovalDate
The date the contact unsubscribed. |
RemovalMethod
The method the contact used to unsubscribe. |
subscribed_contacts
Replication Method : |
Full Table |
Primary Key |
ContactID : ListID |
API endpoint : |
The subscribed_contacts
table contains info about contacts who are currently subscribed to the specified list.
ContactID
The ID of the contact. Reference: |
ListID
The ID of the list the contact is subscribed to. Reference: |
AdditionDate
The date the contact was added to the list. |
AdditionMethod
The method used to add the contact to the list. |
EmailAddress
The email address associated with the contact. |
Related | Troubleshooting |
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.