Kissmetrics is a product analytics platform to help you increase conversion, as well as drive customer engagement and retention.
RudderStack supports sending your events from cloud mode S2S (Server to Server) and Web Native SDKs by calling our APIs.
Getting started
To enable sending data to Kissmetrics, you will first need to add it as a destination to the source from which you are sending event data. Once the destination is enabled, events from our SDKs will start to flow to Kissmetrics.
Before configuring Kissmetrics as a destination in RudderStack, please make sure that the source platform is supported by Kissmetrics. You can refer to the following table to do so:
Connection Mode | Web | Mobile | Server |
---|---|---|---|
Device mode | Supported | - | - |
Cloud mode | Supported | Supported | Supported |
Once you have confirmed that Kissmetrics supports the source type, perform the steps below:
- From your RudderStack dashboard, add the source and select Kissmetrics as a destination.
- Give a name to your destination, and then click on Next. You should see the following screen:
- Please enter the API Key in the Connection Settings. You may also enable the Use native SDK to send events setting to send events through Kissmetrics' native JavaScript SDK.
Prefix Properties
Enabling this setting will add the event name to all the properties of the event. This works for page
and track
properties.
You will need to enable this setting while building reports in Kissmetrics.
- Once you have finalized the settings, click on Next to complete the configuration and add Kissmetrics as a destination in RudderStack.
Identify
Calling rudderanalytics.identify()
pushes an identify
call with the userId
and set
with the user-traits
to the Kissmetrics queue object while using the the Native SDK. For more information on the identify
call, please refer to our RudderStack Events Specification documentation.
For sending data through the API's cloud mode, we call the http://trk.kissmetrics.com/s
end-point for registering users and their traits.
A sample identify
call is as shown:
// a sample identifyrudderanalytics.identify("my-userID", { name: "Tintin", city: "Brussels", country: "Belgium", email: "tintin@herge.com"});
will pass the following to the _kmq kissmetrics
object.
['identify', 'my-userID']['set', { name: "Tintin", city: "Brussels", country: "Belgium", email: "tintin@herge.com" }]
Nested objects are flattened as a.b.c
for input data {a:{b:c}}
before sending the data to Kissmetrics, as it is unable to parse nested objects.
Page
Calling rudderanalytics.page()
will record the page properties for event Viewed <category> <name> page
. For more information on the page
call, please refer to our RudderStack Events Specification documentation.
A sample page event is as shown:
// "home" is the name of the page.rudderanalytics.page("home", { path: "path", url: "url", title: "title", search: "search", referrer: "referrer"});
The above snippet will pass the following to the _kmq kissmetrics
object:
['record', 'Viewed home page', { path: "path", url: "url", title: "title", search: "search", referrer: "referrer"}]
Automatically-tracked Kissmetrics events such as Visited a site, etc. will function as and when integrated with RudderStack. Stay tuned!
Track
Calling rudderanalytics.track()
pushes a record with the event name and the associated properties __when using the native SDK integration. For more information on the track
call, please refer to our RudderStack Events Specification documentation.
For sending data through the API's cloud mode, we call the http://trk.kissmetrics.com/e end-point for registering the event and its associated properties.
A sample track
call is as shown:
rudderanalytics.track("Track me", { category: "category", label: "label", value: "value",});
will pass the following to the _kmq kissmetrics
object.
['record', "Track me", { category: "category", label: "label", value: "value"}]
An event sent to RudderStack with a property called revenue
, is passed on to Kissmetrics as Billing amount
as well as revenue
.
In order to send E-commerce events that have a product array as one of their track
properties, RudderStack sends each product property to the /s
endpoint from the cloud mode, or pushes it as ['set', {id:, sku: ...}]
from the native SDK.
Alias
Calling rudderanalytics.alias()
passes an alias
call with userId
and previousId
to the Kissmetrics queue, when used as a Native SDK integration.
While passing data using the cloud mode, we call the http://trk.kissmetrics.com/a endpoint to alias user identities.
The following code snippet shows a sample alias
call in RudderStack:
// assuming the previous set userId was "my-userID"rudderanalytics.alias("my-new-userID");
will pass the following to the _kmq kissmetrics
object.
['alias', "my-new-userID", "userId"]
Screen
The screen
call records the screen views of the user in your App. If you have turned on the screen views in your App implementation from the iOS or Android SDK it will register in your dashboard. We'll forward the properties
you've passed along with the screen
call as it is.
Here is a sample screen
call in using RudderStack iOS SDK:
[[RudderClient sharedInstance] screen:@"Main" properties:@{@"prop_key" : @"prop_value"}];
FAQs
Where do I get the API Key for Kissmetrics?
You can obtain the Kissmetrics API Key by logging into your Kissmetrics account, and navigating to the Product Settings. Please refer to the following screenshot for more details:
Contact us
If you come across any issues while configuring Kissmetrics with RudderStack, please feel free to contact us. You can also start a conversation in our Slack community; we will be happy to talk to you!