WooCommerce Kissmetrics

Overview ↑ Back to top

Kissmetrics is a web analytics tool that tracks visitors to your site as people, not pageviews. Visualize your online sales funnels and find out which ones are driving revenue and which are not. This plugin tracks over 24 different events and related properties to help you increase your conversion rate and decrease shopping cart abandonment.

Installation ↑ Back to top

  1. Download the extension from your WooCommerce dashboard
  2. Go to Plugins > Add New > Upload and select the ZIP file you just downloaded
  3. Click Install Now, and then Activate
  4. Go to the WooCommerce > Settings > Integrations > Kissmetrics in your WordPress admin and read the next section to learn how to setup and configure the plugin.

Setup and Configuration ↑ Back to top

Configure the plugin by going to WooCommerce > Settings > Integrations. You will see ‘Kissmetrics’ listed as an option. Click this to see the settings.

Now, log in to your Kissmetrics account and go to the settings page (Click the gear symbol next to the ‘Live’ tab in your account). Scroll down and copy the API key listed. Paste this in the API Key box.

That’s it! You are ready to start tracking events. If you want to tweak settings and customize event names / properties, continue reading.

Settings ↑ Back to top

  • API Key – API Key from your Kissmetrics account settings page. Leave this blank to disable tracking completely.
  • Identity Preference – How to identify logged in users: email address (default) or wordpress username. This will display in your Kissmetrics reports.
  • Logging – Log nothing (default), just queries, just errors, or everything to the PHP error log. Be careful when enabling this on a busy site, as it can quickly flood the PHP error log.

If you want to turn off all tracking, leave the API key field blank or disable the plugin.

WooCommerce Kissmetrics integration admin settings
Kissmetrics API Settings

Customize Event Names ↑ Back to top

Every event name sent to Kissmetrics can be changed by editing the text field associated with each event. This is useful if you have an existing implementation and want to keep your event names consistent. Kissmetrics recommends using past tense verbs when naming events, eg: Use “logged in” vs. “log in”.

To disable tracking of a particular event, clear the text field associated the event.

  • Signed In – Triggered when a customer / subscriber signs in. The sign in can occur anywhere (wp-login.php, my account page, sign in widget, etc) and it will be tracked. Users are aliased to their email address or wordpress username (depending on the Identity Preference setting) as soon as they login and are tracked as that identity until they logout.
  • Signed Out – Triggered when a customer / subscriber signs out. Identities are cleared upon logout, so if multiple people use the same computers but use different logins, this will help to track them all accurately.
  • Viewed Signup – Triggered when a visitor views the sign up page. Hooks into the wordpress register form and will track anywhere it is used.
  • Signed Up – Triggered when a visitor signs up. Hooks into the wordpress registration system and will track registrations anywhere the wordpress register form is used.
  • Viewed Homepage – Triggered when a visitor views the homepage.
  • Viewed Product – Triggered when a visitor views a single product. Properties: Product Name
  • Added to Cart – Triggered when a visitor adds an item to their cart, either on a single product page or via an AJAX link on category pages. Hooks into the ‘woocommerce_add_to_cart’ action, so custom add to cart links should track as well. Properties: Product Name, Quantity, Category, and Attributes if product is a variation.
  • Removed from Cart – Triggered when a visitor removes an item from their cart. Properties: Product Name.
  • Changed Cart Quantity – Triggered when a visitor increases or decreases the number of units in their cart. This event can be recorded very frequently if visitors to your site tend to have a large number of unique items in their cart. In this case, you can safely disable this event. Properties: Product Name, Quantity.
  • Viewed Cart – Triggered when a visitor views the cart. This will also track when the cart is empty.
  • Applied Coupon – Triggered when a visitor applies a coupon on either the cart or checkout. Properties: Coupon Code.
  • Started Checkout – Triggered when a visitor starts the checkout process.
  • Started Payment – Triggered when a customer starts the payment process. This will only track if you are a using a payment gateway that uses a “Pay” page, such as Braintree TR or Authorize.net AIM (most direct post payment gateways).
  • Completed Purchase – Triggered when a customer completes their purchase. Properties: Order ID, Order Total, Shipping Total, Total Quantity, Payment Method.
  • Completed Payment – Triggered when a customer completes the payment for a purchase (only triggered if payment occurs after the order is placed, i.e., check payments). Properties: Order ID.
  • Wrote Review – Triggered when a visitor writes a review of a product. This is tracked before spam processing, so if you get a lot of spam, you can consider disabling this event. Properties: Product Name.
  • Commented – Triggered when a visitor writes a comment on a blog post. This is tracked before spam processing, so if you get a lot of spam, you can consider disabling this event. Properties: Post Title.
  • Viewed Account – Triggered when a customer views the ‘My Account’ page.
  • Viewed Order – Triggered when a customer views an order.
  • Updated Address – Triggered when a customer updates their billing or shipping address.
  • Changed Password – Triggered when a customer changes their password.
  • Estimated Shipping – Triggered when a visitor estimates shipping from the cart page. Properties: Country.
  • Tracked Order – Triggered when a customer submits the ‘Order Tracking’ form.
  • Cancelled Order – Triggered when a customer cancels a pending order.
  • Reordered – Triggered when a customer reorders a previous order.
WooCommerce Kissmetrics Event Name Settings
Event Name Settings

Customize Property Names ↑ Back to top

  • Product Name – Recorded when a visitor views a product, adds / removes / changes quantities in the cart, or writes a review.
  • Product Quantity – Recorded when a visitor adds a product to their cart or changes the quantity in their cart.
  • Product Category – Recorded when a visitor adds a product to their cart. Note this is the first category listed for the product. Any additional category names will not be tracked.
  • Coupon Code – Recored when a visitor applies a coupon.
  • Order ID – Recorded when a customer completes their purchase.
  • Order Total – Recorded when a customer completes their purchase. Use this as the ‘revenue’ property within Kissmetrics. This includes shipping,taxes, and any applicable discounts.
  • Shipping Total – Recorded when a customer completes their purchase.
  • Total Quantity – Recorded when a customer completes their purchase. This is the unit total for the order.
  • Payment Method – Recorded when a customer completes their purchase. This is the title of the payment method used for the order.
  • Post Title – Recorded when a customer leaves a comment on a blog post.
  • Shipping Country – Recorded when a customer estimates shipping.
  • Purchased SKU – Tracked when a customer purchases the product.
  • Purchased Product Name – Tracked when a customer purchases the product.
  • Purchased Category – Tracked when a customer purchases the product.
  • Purchased Price – Tracked when a customer purchases the product.
  • Purchased Quantity – Tracked when a customer purchases the product.
WooCommerce Kissmetrics Property Name Settings
Property Name Settings

Tracking Subscriptions ↑ Back to top

If you have installed and activated the WooCommerce Subscriptions module, then you are already tracking subscriptions! There’s no need to change anything unless you want to modify the event / property names that are sent.

Subscription Events ↑ Back to top

  • Activated Subscription – Recorded when a customer’s subscription is activated. Note that subscriptions are typically only activated after successful payment. Includes properties: Subscription Name, Total Initial Payment, Initial Sign up Fee (if applicable), Subscription Period, Subscription Interval, Subscription Length, Subscription Trial Period, Subscription Trial Length
  • Subscription Trial Ended – Recorded when the free trial for a subscription ends. Includes properties: Subscription Name
  • Subscription Expired – Recorded when a customer’s subscription expires. Includes properties: Subscription Name
  • Suspended Subscription – Recorded when a customer’s subscription is suspended. Includes properties: Subscription Name
  • Reactivated Subscription – Recorded when a customer’s subscription is reactivated. Includes properties: Subscription Name
  • Cancelled Subscription – Recorded when a customer’s subscription is cancelled. Includes properties: Subscription Name
  • Renewed Subscription – Recorded when a customer’s subscription is renewed. This can happen for both automatic renewals and manual renewals. Includes properties: Billing Amount and Billing Description.

Subscription Properties ↑ Back to top

  • Subscription Name – The name of the subscription product
  • Total Initial Payment – The total initial payment for the subscription. Includes recurring amount and sign up fee.
  • Initial Sign Up Fee – The initial sign up fee for the subscription. If none is set, this will be zero.
  • Subscription Period – The period (e.g. Day, Month, Year) for the subscription.
  • Subscription Interval – The interval (e.g. every 1st, 2nd, 3rd, etc) for the subscription.
  • Subscription Length – The length (e.g. 8 weeks, 6 months, 1 year) of the subscription.
  • Subscription Trial Period – The period (e.g. Day, Month, Year) for the subscription trial.
  • Subscription Trial Length – The length (e.g. 1-90 periods) for the subscription trial.
  • Billing Amount – The amount billed to the customer when their subscription renews.
  • Billing Description – The name of the subscription billed for subscription renewals.

Tracking Custom Events ↑ Back to top

If you already work with a developer, you can track custom events by using:

wc_kissmetrics()->get_integration()->custom_event( $event_name, $properties );

Event name can be set as a string, while properties are passed as an array with property name => value.

You can modify this sample snippet according to your needs with the help of a developer:

if ( ! function_exists( 'my_custom_event_function' ) ) {
    function my_custom_event_function() {

        // check if Kissmetrics is active
        if ( ! function_exists( 'wc_kissmetrics' ) ) {
            return;
        }

        wc_kissmetrics()->get_integration()->custom_event( 'Event name', array( 'Property name' => 'value' ) );
    }

    add_action( 'hook_to_trigger_event_on', 'my_custom_event_function' );
}

The custom_event() can also be called without properties by omitting the second parameter.

Privacy & cookies ↑ Back to top

Cookie usage ↑ Back to top

Kissmetrics does use cookies as a service to track user behavior. As such, depending on your business location, you may be required to inform users that your site places these cookies. A plugin for cookie consent may be useful for this.

GDPR & PECR ↑ Back to top

As a data controller, it is your responsibility to ensure your site and data processors you use are GDPR-compliant, abide by the PECRs, and that you have a lawful basis for data processing. So long as no personal customer data is used in your site analytics (data is anonymized), this data is not subject to the GPDR, so you should ensure that your Kissmetrics account is configured accordingly.

Kissmetrics has information on their GDPR-compliance here, along with details on user privacy here.

Troubleshooting ↑ Back to top

Not seeing tracking data in Kissmetrics? Follow these steps to make sure everything is setup correctly before posting a support request:

  1. Check that your API key is correct.
  2. Double-check that your API key is correct 😉
  3. Inspect your site’s pages to make sure the Kissmetrics JavaScript code exists. If you’ve added this JavaScript manually, it needs to be removed, as it will override the data the plugin sends to Kissmetrics.
  4. Use the “Live” view within your Kissmetrics account to see if tracking data is being logged correctly. Make sure it says “Connected, waiting for data” and then open a different browser (or an incognito window within Google Chrome) and browse to your site and perform a few actions. You should see yourself show up in the “Live” view.
  5. If Kissmetrics still isn’t working, please submit a support ticket detailing what happened while following these steps and describing the issue so we can help you quickly!

Known Issues ↑ Back to top

  • Admin / Shop Manager users are still tracked as “Visited Site” when visiting the website to login. There is no way to prevent this, since we don’t know they’re admin users until they login.
  • If a customer is click happy and double / triple clicks an AJAX add to cart link, the ‘added to cart’ event may be recorded multiple times.

Questions & Support ↑ Back to top

Have a question before you buy? Please fill out this pre-sales form.

Already purchased and need some assistance? Get in touch with support via the help desk.

WooCommerce - the most customizable eCommerce platform for building your online business.

Back to the top