This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script type="text/javascript"> | |
function createKeenWebAutoCollector(){window.keenWebAutoCollector=window.KeenWebAutoCollector.create({projectId:'<YOUR_PROJECT_ID>',writeKey:'<YOUR_WRITE_KEY',onloadCallbacks:window.keenWebAutoCollector.onloadCallbacks}),window.keenWebAutoCollector.loaded()}function initKeenWebAutoCollector(){window.keenWebAutoCollector.domReady()?window.createKeenWebAutoCollector():document.addEventListener("readystatechange",function(){window.keenWebAutoCollector.domReady()&&window.createKeenWebAutoCollector()})}window.keenWebAutoCollector={onloadCallbacks:[],onload:function(a){this.onloadCallbacks.push(a)},domReady:function(){return["ready","complete"].indexOf(document.readyState)>-1}}; | |
</script> | |
<script async type="text/javascript" src="https://d26b395fwzu5fz.cloudfront.net/keen-web-autocollector-1.0.8.min.js" onload="initKeenWebAutoCollector()"></script> | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Announcing Drop-in Analytics: Usage Dashboards for JavaScript Apps in Seconds | |
1. The problem: Analytics instrumentation takes time, getting to baseline "hello world" is clutch | |
2. The solution | |
a. Now you can drop in code to instantly see and explore basic engagement data | |
b. Here are examples of the usage analytics you can do with this | |
3. How you can use it | |
a. Here is how you setup the data collection |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PHP | |
NodeJS | |
Ruby |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
trial_step_complete_tutorial = { | |
"trial" : { | |
"name" : "AppSpandexTrial", | |
"day_in_trial": 2, | |
"trial_total_duration_in_days": 14, | |
"category":"product_trial_type_A" | |
}, | |
"user" : { | |
"visitor_id": "029309n90nf0w9f3n4qf2nf", | |
"email": "[email protected]", |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Keen.ready(function(){ | |
signup_flow = new Keen.Query("funnel", { | |
timeframe: { | |
start: "2015-07-01T07:00:00.000Z" // analyze events after this date | |
}, | |
steps: [ | |
{ | |
event_collection: "view_page", | |
actor_property: "visitor_id", | |
filters: [ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'dotenv' | |
require 'keen' | |
# Don't forget to specify your Keen Master Key, Ready Key, and Project ID in your environment variables! | |
# Reference: https://github.com/keenlabs/keen-gem | |
Dotenv.load | |
# allow timeframe to be specified via the command line | |
# usage: ruby collection_counts.rb previous_7_days |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Say you want to know, of all of the users who signed up, how many CREATED a post _OR_ RESPONDED to a post? | |
There is no built-in "OR" functionality in Keen IO funnels, but there is a way to use a little bit of logic to get the same result. | |
This imaginary funnel's steps might look like this: | |
"steps":[ | |
{ | |
"event_collection":"signed_up", | |
"actor_property":"user.id" | |
}, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Funnels are a way to do mass lookups of users to see which ones who did X also did Y. | |
Funnels are Keen IO queries formatted like this: | |
https://api.keen.io/3.0/projects/<project_id>/queries/funnel?api_key=<read_key>&steps=<[step1, step2, step3...]> | |
Each 'step' is an action performed by the actor. | |
Say you want to know if a thousands of users who made a purchase had previously clicked on something on your site. | |
As an alternative checking if each user did an action, we can lookup a huge group at once using Funnels. | |
Below is a funnel example that can be done as long as the following are true: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// example event model | |
// User_Created_Event = { | |
// "full_name": "Macy Bode", | |
// "communities": [6,7,8], | |
// "email": "[email protected]" | |
// }, | |
// Find the number of users in Community 6 or 7 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Scenario: | |
We want all users who did event X, | |
where event X had property Y and Z with values A and B, | |
where event X happened C times within the dates D1 and D2. | |
# Solution: | |
You can arrive at the final result using this query: | |
var users_who_did_x = new Keen.Query("count", { |
NewerOlder