Kickfire

How to enable account domain tagging with Kickfire and Google Analytics to activate top-of-funnel account scoring in CaliberMind.

Adding descriptive data about the business users that visit your website using Kickfire and Google Tag Manager allows for an accelerated & more informed sales process

Overview

The initial deployment begins with preparing the Google Analytics (GA) property for receiving and storing the descriptive data about the business users that visit your digital property from the KickFire API. After your GA web property has been configured, Google Tag Manager (GTM) will need to be configured to operate as the tool that identifies business website visitors and retrieves data from the API to GA. Either a new GTM container will need to be created or an existing container can be used. Simply follow the instructions to import the KickFire GTM workspace into a new or existing container. Add the unique variables for the GA account, and the KickFire API key, then publish the container. Lastly, confirm the KickFire API data is being collected in your GA web property. Open an example GA report (e.g. Acquisition > All Traffic > Channels report), add a Custom Dimension as a secondary dimension to the report, and review the collected data from business website visitors. 

Steps to complete KickFire Data API Integration:

  1. Configure GA Web Property
  2. Configure GTM Container
  3. Confirm Data is Collecting in GA
  4. Configure GA Web Property

GA Custom Dimensions

Navigation: Admin > Account > Property > Custom Definitions > Custom Dimensions
  1. Add a new 'Custom Dimension' with a name as 'Kickfire'
  2. Set the Scope to 'Session' & check 'Active', then click Create.
  3. Evaluate the data fields that will be stored in GA, and create additional Dimensions as needed.  GA Standard allows a maximum of 20 Custom Dimensions per property; there are more fields available than the GA standard product offers, whereas GA 360 offers 200 Custom Dimension indices. 
  4. Some data fields may be considered by some privacy advocates as Personally Identifiable Identification (PII) and should be considered before deciding to store those fields in GA.
  5. Inventory the Custom Dimension fieldname to Index number for associating them correctly in GTM.  The Indices must match for proper data reporting. 

GA Event Data

  • Event Categories for all event tags will be " KickFire API".
  • Event Action is either "success" or "error".
  • Event Label is only used for event action of "error". 
  • Event Label will contain the error message.
IMPORTANT: Whether you use the tag "KickFire API Event - Success - all fields" or "KickFire API Event - Success - combined and no codes", you MUST update the Custom Dimension index to match what you have setup in GA.

Configure GTM Container

GTM Configuration - Import Container

Navigation: Admin Tab > Import Container
  1. Import the GTM json file into your newly created GTM container OR into an existing container.
  2. If importing into a newly created container select "Overwrite".
  3. If importing into an existing container, select "Merge" and "Rename conflicting tags, triggers and variables"

GTM Configuration - Variables 

  1. Update variable "KickFire API GA Tracking ID" with your GA tracking id OR update the KickFire API Event tags to use your existing GA Tracking ID variable.
  2. Update the variable "KickFire API Key" with your API key.

GTM Configuration - HTML Tag 

In custom HTML tag "API Call"

  1. References the variable "KickFire API Key".
  2. Sets a cookie called "kickfire_api_session_cookie" to establish session. This prevents calling the api on every single page.

Config settings

  1. session_timeout - Leave blank to use a session cookie or enter the number of minutes
  2. console_messages - true or false to log console messages
  3. log_errors_to_GA - true or false to send api errors to GA. Example: KickFire API>error>URL Not Authorized
  4. companies_only - true or false to only send company data to GA.
  5. kickfire_api_key - Use GTM constant "KickFire API Key" for your api key

GTM Configuration - Event Tags

Event Tags

Will send API success or error event to GA and set with success a Custom Dimension for each of the returned KickFire values

  • "KickFire API Event - Success - all fields"
  • Tag has an example of all possible fields set to Custom Dimensions in GA
  • "KickFire API Event - Success - combined and no codes"
  • Tag has example of a few fields set to a Custom Dimension in GA
  • "KickFire API Event - Error"
  • Sends error event with error details in the event label

Confirm Data is Collecting in GA

Open an example report (e.g. Acquisition > All Traffic > Channels report) and add a Custom Dimension as a secondary dimension to the report to review the collected data from site visitors.

The Custom Dimensions available in the reports will depend on which dimensions were created in Section 1. 

Kickfire Google Analytics JS code snippet:

Note: the dimensions set in this step are dependent on which custom dimensions in GA you wish to use to save Kickfire information from that visitor.Update UA-xxxxxxxx-1 for GA org ID, and XXXXXXXXXXXXXXXX for your company's unique Kickfire API key

<script type="text/javascript">(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');ga('create', 'UA-XXXXXXXX-1', 'auto');jQuery(document).ready(function($){$.getJSON('//api.kickfire.com/gip',function(kfip) {$.getJSON('//api.kickfire.com/v2/company:(all)?ip='+kfip+'&amp;amp;key=XXXXXXXXXXXXXXXX',function(obj) {if ('data' in obj){if( obj['data'][0]['isISP'] == 0 ){ga('set', 'dimension1', obj['data'][0]['name']);ga('set', 'dimension2', obj['data'][0]['website']);ga('set', 'dimension3', obj['data'][0]['city']);ga('set', 'dimension4', obj['data'][0]['region']);ga('set', 'dimension5', obj['data'][0]['postal']);ga('set', 'dimension6', obj['data'][0]['country']);ga('set', 'dimension7', obj['data'][0]['employees']);ga('set', 'dimension8', obj['data'][0]['revenue']);ga('set', 'dimension9', obj['data'][0]['category']);ga('set', 'dimension10', obj['data'][0]['category2']);}}ga('send', 'pageview');}).fail(function() {ga('send', 'pageview');});});});</script>


How did we do?