Installation & Troubleshooting Guide

We are in the process of updating all our documentation for GA4. Feel free to contact us if you need any help or clarification on anything.

If things aren't working as expected, or you're just not confident that Keap/Infusionsoft, Google Analytics Ecommerce, Google Ads Conversion Tracking, Facebook Ads Conversion Tracking, and Bing Ads Conversion Tracking have been setup correctly, this guide will give you detailed information that will help you get everything running smoothly.


Make sure that your shopping cart and/or order forms are fully functional. Test the Keap/Infusionsoft system to be sure it can run payments and complete transactions all the way to the thank-you page.

Verify that each product inside of Keap/Infusionsoft has both a unique product name and a unique SKU present.

Use landing pages and thank-you pages hosted on your website (rather than pages hosted at Keap/Infusionsoft) because you don't have 100% complete control of the page's code when it's a Keap/Infusionsoft hosted page and this can lead to unforeseen difficulties. All traffic should originate and finalize on your website, such as

By default, Keap/Infusionsoft adds URL variables when it sends traffic to your thank-you pages. The orderId and contactId variables must be working correctly for the software to be functional. As an example of orderId, if your thank-you page is at and you process a test order via the Keap/Infusionsoft shopping cart, you should be sent to something like as this is the default behavior. Your URL may have some other variables listed but if orderId isn't inside that URL, our software won't know which order to lookup. Depending on if you're using the Keap/Infusionsoft shopping cart, an order form, or an older legacy feature, you'll see slightly different settings inside of Keap/Infusionsoft. Just look for the option that most closely resembles "send information to the thank-you page." A newsletter signup is similar, but there involving the contactId variable.

If you're using discounts or multiple product categories you'll want to read about how maps Keap/Infusionsoft Discounts and Keap/Infusionsoft Product Categories into Google Analytics Ecommerce.

If you're doing any upselling/downselling you'll want to read about Using with Upsells.

If you're processing any subscriptions or multiple payments, you'll want to read about to Setup for Subscriptions and Multiple Payments.

We have detailed instructions available on Building URLs for Keap/Infusiosoft Email Campaigns and Newsletters and Building URLs for the Keap/Infusionsoft Affiliate System if you want to see this campaign data inside Google Analytics.

Google Analytics

First, it's helpful to understand what does and doesn't do. Our software provides the raw sales data into Google Analytics via API. It fills in the end of the customer journey with the most important data, the sales data. It's important to understand however that all the data preceding the sale comes from a basic and functioning Google Analytics setup, including the traffic source data. Since our software supplements a healthy and functional Google Analytics account, you'll want to be sure you have Google Analytics setup properly before preceding.

You can follow these instructions to connect to your Google Analytics account and to learn how to enable Google's DebugView (optional for testing).

Then, you'll want to configure your domains, populate list unwanted referrals, and setup the tracking of page views on Keap/Infusionsoft hosted pages. Our software will work whether you complete these 3 steps for cross-domain tracking or not, but we strongly recommend doing all three of them to get the most accurate and complete reporting possible. You may also be interested in sending the Keap/Infusionsoft Contact ID into Google Analytics as User ID.

This is optional. No setup is required from your account. Simply follow Google's instructions on how to connect your Google Ads Account to the Google Analytics account you have configured for.

Facebook Conversion Tracking

This optional setting can be turned on and off from your Settings Page.

You'll need to provide with a conversion_pixel_id, access_token, and optionally a test_event_code for whichever Facebook Tracking Pixel you are going to use. The presence of test_event_code will force data to be sent in test mode. To enable live mode once you know things are working, remove the test_event_code value from your settings.

Our system uses the Facebook Conversions API to send data. You must obtain a Pixel ID to use the Conversions API. If you've already set up a Pixel for your website, we recommend that you use the same Pixel ID for your browser and server events. You can find more information on this in the Facebook Conversion API Getting Started Guide.

If you're implementing the Meta Pixel alongside the Conversions API, we recommend you include the eventID parameter as a fourth parameter to the fbq('track') function. See Facebook's Deduplicate Pixel and Server Events documentation for more information.

Facebook determines if events are identical based on their ID and name. So, for an event to be deduplicated:

In Corresponding Events a Meta Pixel's eventID must match the Conversion API's event_id.

In Corresponding Events a Meta Pixel's event must match the Conversion API's event_name.

You can read more about how Facebook's deduplication works inside their documentation here.

Finally, you'll want to follow these instructions to add sales values to your Facebook Ads Dashboard view.

Bing Conversion Tracking

This is an optional setting. Please contact us for early access to the new Bing Conversion API.

Installing the Software

First verify that you have filled out your Settings Page on the system. At a minimum you'll need to authorize a Keap/Infusionsoft account, and add your Google Analytics 4 measurement_id and api_secret. Instructions for that can be found here.

Next you'll need to install our software to your website. That software package along with instructions can be found on the Software page.


You can view real-time data generated by from inside of your Google Analytics account. Go to "Reports" and then click on "Realtime". On that page you will see an "Event count by Event name" heading (unless you customized the report from the default settings). You'll see events written by as having names that start off with "acio_". You can click into those events for additional data, including error messages when something goes wrong. Depending on server load, it can take a few minutes for events to appear.

If you would like to see real-time data inside Google's DebugView, from inside your Settings Page, under the heading "Google Analytics" set Enable GA Debug Mode to true and click save. We'll send everything with "debug_mode":1 making it visable inside the Google Analytics DebugView (under Admin, then DebugView). For additional information, read Google's DebugView Documentation. You'll want to disable this as soon as you're done looking.

Run a test sale inside Keap/Infusionsoft and you should see an event generated inside Google Analytics as described above. Within 24 - 48 hours all the details should be visible in the Google Analytics "Monetization" reports.

It's important to know when testing that our system will only let each unique orderId be recorded once. This prevents duplicate data if a user reloads the thank-you page.

It's helpful to understand that Google Analytics isn't a perfect system, and some data will slip through the cracks. When you're looking at page views, you're not aware of missing data because you have nothing to compare the Google Analytics data to. Google Analytics may say that your website got 1,289 hits, while that number was really more like 1,301. As you process more and more sales, sooner or later, you will see transaction data inside Keap/Infusionsoft that isn't reflected inside Google Analytics. While this can be annoying, realize that in terms of your data analysis a small percentage of lost data is statistically insignificant. If however, you're seeing that a huge percentage (3% or more) of your transaction data isn't making its way into Google Analytics, there's a problem.

Start by checking the Google Analytics App Status Dashboard to see if there are/were any system problems with Google Analytics at the time.

Next, you'll want to audit the logs, document the differences, and find patterns. Verify that your Keap/Infusionsoft account and Google Analytics account are in the same time zone (so you know you're comparing data from the same time zones as you look for missing data).

Please read about the Difference Between orderId and invoiceId as this is very easy to confuse. Now compare the list of Transaction IDs you see inside Google Analytics with the orderIds inside Keap/Infusionsoft. Is each transaction present? Are the "totals" correct? Are the individual items listed correctly?

There is usually a pattern when something's wrong, such as orders failing for a specific product, but you discover that product uses a separate, non-standard, thank-you page that didn't have our JavaScript installed on it.

Still having problems? You may be interested in Premium Support options.

Article Feedback

If anything here is incorrect, outdated, or omits critical information, please use our contact us form and let us know.