Export Database Guide

  • Updated


Impactive can export your entire raw dataset to an export database - this export database can be queried, analyzed, and used to build data pipelines to do just about anything with all of your data from Impactive. 

In this article, we'll share some helpful context and tips for how to make sense of your export database.

You can find a full guide to all tables and data fields in our data dictionary.


Export databases are available for Enterprise clients only. Looking to upgrade to an Enterprise plan with an export database? Reach out to sales@impactive.io. 



Understanding Tables

Impactive's data is structured as a standard relational database using Postgres. Below, we'll cover the general purpose of these tables and some of the important values you'll see inside to help you better leverage your data.



Users are your volunteers and administrators - anyone with an Impactive log-in. This table will have metadata about each user and some aggregate statistics, but keep in mind that since users can participate in more than one campaigns, this data won't be specific to a single campaign. Campaign-specific data can instead be found in the User Campaigns table. 



Campaigns are the equivalent of licenses in Impactive. If you have multiple Impactive licenses - for instance, if you have one for your c3 and one for your 527 PAC, or if you have multiple affiliates or chapters - you'll see a campaign for each license. 


User Campaigns

These represent a user's overall activity and permission information. `campaign_role` will indicate if the user is a Volunteer, Staff, Admin, or Owner, and additional columns detail individual permissions. 



More commonly known as "actions," these represent individual user calls-to-action such as text banks, phone banks, relational organizing appeals, voter registration campaigns, broadcast message blasts, forms, and more. The `type` column will be important to filter actions to the specific type you might be analyzing. Here are the mappings for each type of action:

  • TextAListActivity = Peer to Peer Texting
  • TextAFriendActivity = Friend to Friend Texting
  • IdVotersActivity = Open Canvassing
  • TestimonialActivity = Submit a Testimonial
  • SocialShare = Share on Social Media
  • WebActivity = Open a Web Page
  • SurveyActivity = Form
  • DialerActivity = Phone Bank


User Activities

These represent a particular user's involvement in a specific activity (action). The table includes metadata about the user as well as some aggregate stats on their engagement.



Contacts are the individuals that are imported/uploaded and reached/engaged via Impactive - via texting, calling, forms, etc. Because Impactive is primarily a texting and calling platform revolving around contacts' phone numbers, contacts are unique based on their `phone` attribute. This table includes any metadata that has been uploaded about each contact, and frequently includes ID attributes used for syncing to third-party integrations such as NGP VAN/EveryAction, PDI, etc. 


For context, note that contacts can enter Impactive in several ways:

  • Via CSV import
  • Via integration with third-party tools like NGP VAN/EveryAction and PDI
  • Programmatically via API
  • When contacts fill out an Impactive form or voter registration check



This table stores texting and/or relational messaging interactions. It's important to understand the various `type` of messages you'll see in the database:

  • SmsMessage: represents a message from a user's personal phone number to one of their personal contacts (via Friends and Family Messaging) or from a user's personal phone number to an assigned contact (via Canvassing)
  • TwilioMessage: represents a message between a user and an uploaded contact, via Peer-to-Peer Texting
  • BroadcastMessage: represents a message sent by an administrator (user) to an uploaded contact, via Broadcast Texting
  • CanvasserMessage: represents the occurrence of a report being filled out; not an actual text message, but an informational message that will be displayed in the conversation on the Impactive platform so the user can see the contact's engagement history
  • InviteMessage: represents a user message sent to a personal contact inviting them to join Impactive

It is also important to understand the sender_type and receiver_type columns - "user" or "contact" - to know if the message was sent by a user or a contact. See above for description of the difference between users and contacts.


You will also see `selected_voterbase_id` in this table and others. This variable represents a unique voter ID and is used particularly for electoral campaigning on the Impactive platform to make voterfile-aligned analysis easier for campaigns.


Another helpful columns is the `script_type` column which indicates if the script send was an “initial” outbound message or a follow up “response” to a reply.



Reports represent a form submission by a user. The `reportable` columns indicate if the individual being reported on was a user, contact, or userContact (a personal contact, i.e. friend or family member, of the user).

Each report has many taggings and customizations that represent values of the tags and custom fields in the report.



Impactive export databases are constantly evolving, with new tables and metadata being added by popular demand, new feature launches, etc.

Feel free to reach out to support@impactive.io to request any additional data or request help in analyzing anything in your export database. 





Was this article helpful?