Integrate with Qgiv

Overview

This guide will walk you through integrating Qgiv with Klaviyo. After completing the steps outlined in this guide, you'll be able to personalize and target emails based on each Contributor's donation and website activity. Here's some of the data we sync from Qgiv:

  • Amount of each contribution
  • Contributor information including first and last name, location, and how they found your site
  • Whether each contribution is recurring and if so, how often in will occur

Generate your Qgiv API Token

Login to your Qgiv account. Click on Settings in the left sidebar of your account then click on API Access. 

647679

Next, click on Create API Token.

647680

You will then be prompted you to create a Token Name and establish a Token Type. Under Token Type select "Permanent". 

647681

Once you select "Permanent" as the Token Type, select the forms that you want to make accessible in Klaviyo. If you want all your donation data, select all your campaigns. Qgiv will then provide you with your API Token located on the left hand side under Combination. This is what you will need in the next step to integrate Qgiv with Klaviyo.

647682

Add the Qgiv Integration

Click on the Integrations tab in the left sidebar of your account. Navigate to All Integrations and find Qgiv on the list of available integrations. All integrations are in alphabetical order so you'll find Qgiv towards the bottom.

647683

Click Add Integration to get started. Next, you will be brought to an Integration Settings page where you will need to add the API Token you generated in the previous step. Once you have entered your API Token, click Connect to Qgiv. 

647684

Monitor the Klaviyo Sync & Verify Donation Data

To check on your Qgiv integration, navigate to the Metrics tab in your account.

Click on the Made Contribution metric to verify that there is data populated for this metric. If there is data, all you need to do is wait until your initial Qgiv integration sync has completed; this process can take up to a couple hours depending on how much data you have in your account.

Klaviyo will import all of your historic Qgiv data. To verify this, you can compare the number of orders on a particular day in Klaviyo with what's in your Qgiv interface and confirm they match.

For example, when exploring the Made Contribution metric in your Klaviyo account's Metrics tab, you can mouse over yesterday's data point or look at the table of data below the chart to see how many orders were reported yesterday. Compare that number to what's stored in Qgiv from yesterday and you should see they match exactly. If they don't, the issue is most likely that your Klaviyo account's timezone doesn't match your Qgiv timezone. To check your timezone setting in Klaviyo, go your Account Settings and navigate to Contact Information > Organization. At the button, you will see an area to set timezone.

Understanding your Qgiv Data

There is one major metric that is captured by Qgiv and loaded into Klaviyo: Made Contribution

Image title

The Made Contribution metric

This event is tracked when a supporter makes a contribution in Qgiv. The event Klaviyo syncs includes all the information Qgiv collects including the contribution amount, whether the donation is recurring, and if so, how often the donation will recur. You can filter and target Made Contribution events based on the following criteria: 

  • Donation Source
  • Form ID
  • Form Name
  • If Anonymous (True or False)
  • Opted In
  • Type (i.e. One Time)

Here is an example of the data we receive along with a Made Contribution event:

Customer Data

In addition to the metrics Klaviyo syncs from Qgiv, there are also custom properties that are added to each Klaviyo profile. You can use these properties in segments and in flows. Here are the properties that are automatically synced from Qgiv:

  • Email, First Name, Last Name, City, State/Region, Zip Code, Country, Phone Number: these built-in Klaviyo fields are automatically synced

Frequency of the Qgiv Sync

Metrics and profile properties from Qgiv are synced using webhooks. This means that Qgiv indicates to Klaviyo when an event has occurred and Klaviyo will then pull all data. This occurs almost instantaneously. 

Add Klaviyo Tracking

The final step here is adding Klaviyo's web tracking code to your website footer. This Klaviyo tracking code will allow us to track an Active on Site metric for you so that you can see and leverage data related to site visits and visitor behavior. Through this metric, Klaviyo will track website activity for known browsers.

For example, you can use the Active on Site metric to create segments of people who have visited your site (while logged in), but haven't yet made a donation. 

The following tracking script can be found in the Setup Wizard in Klaviyo:

647629

Paste the following Klaviyo tracking script into the main template of your app before the </body> tag; remember to add your own API Key, found under Account > Settings > API Key, where you see 'API KEY': 

<script type="text/javascript">
 var _learnq = _learnq || [];

 _learnq.push(['account', 'API KEY']);

 _learnq.push(['identify', {
 // TODO: Change the line below to be the current user's unique ID.
 '$id' : '123',
 // TODO: Change the line below to be the current user's email.
 '$email' : 'john.smith@example.com',
 // TODO: Change the line below to be the current user's first name.
 '$first_name' : 'John',
 // TODO: Change the line below to be the current user's last name.
 '$last_name' : 'Smith',
 // TODO: Change the line below to be when the current user signed up.
 'Created At' : 1458046212

 // TODO: If you want to track a user's plan, uncomment the line below and change it to the current user's plan.
 // , 'Plan' : 'Basic Plan'
 }]);

 (function () {
 var b = document.createElement('script'); b.type = 'text/javascript'; b.async = true;
 b.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'a.klaviyo.com/media/js/analytics/analytics.js';
 var a = document.getElementsByTagName('script')[0]; a.parentNode.insertBefore(b, a);
 })();
</script>
Was this article helpful?
0 out of 0 found this helpful