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
RudderStack supports sending event data to Kissmetrics via the following connection modes:
Connection Mode | Web | Mobile | Server |
---|---|---|---|
Device mode | Supported | - | - |
Cloud mode | Supported | Supported | Supported |
https://kissmetrics.com
domain. Based on your website's content security policy, you might need to allowlist this domain to load the Kissmetrics SDK successfully.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 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 via the device mode, 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 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 ecommerce events that have a product array as one of their track
properties, RudderStack sends each product property to the /s
endpoint from 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 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
For more information on the topics covered on this page, email us or start a conversation in our Slack community.