Get started with a free trial today
Already have an account? Sign in
Stitch’s Listrak integration replicates data using theListrak SOAP API. Refer to theSchema section for a list of objects available for replication.
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 |
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:
To ensure Stitch can access your Listrak instance, you’ll need to whitelist Stitch’s IP addresses.
The IP addresses you’ll whitelist depend on theData pipeline region your account is in.
Locate the list of IP addresses for your region:
Keep this list handy - you’ll need it in the next step.
On the Stitch Dashboard page, click theAdd Integration button.
Click theListrak 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 calledstitch_listrak in the destination.Note: Schema names cannot be changed after you save the integration.
The Sync Historical Data setting defines the starting date for your Listrak integration. This means that dataequal 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 of1 year. For a detailed look at historical replication jobs, check out theSyncing Historical SaaS Data guide.
In theReplication Frequency section, you’ll create the integration’sreplication 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 theUnderstanding and Reducing Your Row Usage guide for tips on reducing your usage.
After you finish setting up Listrak, itsSync Status may show asPending on either the Stitch Dashboard or in the Integration Details page.
For a new integration, aPending 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 theAnchor Scheduling documentation for more information.
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.
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 forversion 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 theLoading Guide for your destination for more info.
Thelists table contains info about your contact lists.
Full Table | |
Primary Key | ListID |
| Useful links |
| 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
| ||
bounceHandling INTEGER |
Themessage_bounces table contains info about contact bounces for a message.
Full Table | |
Primary Keys | MsgID EmailAddress |
| Useful links |
| 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 |
Themessage_clicks table contains info about contact clicks for a message.
Full Table | |
Primary Keys | MsgID EmailAddress |
| Useful links |
| 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 |
Themessage_opens table contains info about contact opens for a message.
Full Table | |
Primary Keys | MsgID EmailAddress |
| Useful links |
| 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 |
Themessage_reads table contains info about contact reads for a message.
Full Table | |
Primary Keys | MsgID EmailAddress |
| Useful links |
| 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 |
Themessage_sends table containsMsgID andEmailAddress pairs, allowing you to identify the messages that your contacts have been sent.
Full Table | |
Primary Keys | MsgID EmailAddress |
| Useful links |
| 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 |
Themessage_unsubs table contains info about contacts who requested to be removed from a list from the supplied message.
Full Table | |
Primary Keys | MsgID EmailAddress |
| Useful links |
| 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 |
Themessages table contains info about message statistics.
Full Table | |
Primary Key | MsgID |
| Useful links |
| 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 |
Thesubscribed_contacts table contains info about contacts who are currently subscribed to the specified list.
Full Table | |
Primary Keys | ContactID ListID |
| Useful links |
| 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 |
| Related | Troubleshooting |
Did this article help? If you have questions or feedback, feel free tosubmit a pull request with your suggestions,open an issue on GitHub, orreach out to us.