SaaS Essentials
Introduction
Welcome to Kissmetrics! This guide is designed to help you implement best practices for tracking SaaS data effectively. As a SaaS business ourselves, we are dedicated to helping other SaaS companies succeed by leveraging customer analytics. Before you begin tracking customer data with Kissmetrics, it’s crucial to define your primary business questions, as they form the foundation for structuring your data schema. By understanding the key insights you want to gather about your customers, you can design a tracking framework that aligns with your specific goals and ensures actionable results.
SaaS businesses aim to guide customers through five major stages in their lifecycle, each critical to long term success:
Acquisition
Getting to know you:
This is where your relationship with potential customers begins. Whether they find you through search, ads, or referrals, this is your chance to make a great first impression!The customer arrives from various channels, such as paid campaigns, organic traffic, or referrals. This stage focuses on tracking how customers discover your service.
Business Question: Which channels are driving the most qualified leads to our service?
Activation
The "Aha!" moment:
This is the stage where your customers experience the value of your product for the first time. Help them discover why they signed up and turn curiosity into action!
Business Question: What actions or features correlate with users reaching their "aha moment" within the first week?
Retention & Engagement
Keep the love alive:
Now that they’re onboard, it’s all about showing your customers why they should stick around. Deliver value consistently and keep them coming back for more!
Business Question: What factors influence the likelihood of customers returning regularly?
Referral
Spread the word:
Your happy customers can be your best marketers. Give them a reason to share your product with others, and watch the love grow!
Business Question: Which behaviors or incentives drive users to recommend our service to others?
Revenue
The Win-Win stage:
Your customers find value in your service, and you’re rewarded for delivering it. Track how monetization behaviors drive your growth and theirs.
Business Question: What pricing or subscription plans maximize revenue while retaining customers?
This guide will walk you through recommended events and properties to track at each stage, supported by real-world data schema examples. While every SaaS business is unique, these guidelines provide a strong foundation you can customize to suit your specific processes, market, or industry.
Let’s dive into how you can set up a robust tracking framework and take your SaaS analytics to the next level!
Tracking Acquisition
Behavior
Acquisition
BehaviorThe majority of the acquisition events we track automatically. The setup of those would require installing our base JavaScript snippet into the <head>
section of every page on your website. You can easily locate the snippet in your Product Settings.
Automated tracking includes following events:
Visited site
This event is triggered when a customer visits your site. We record Visited Site once for each visitor’s browsing session. After 30 minutes of inactivity, the next time the visitor comes back will trigger a new Visited Site event.
Event name | Property name | Example property value | Description |
---|---|---|---|
Visited site | KM Landing Page | kissmetrics.io/request-demo | indicates the landing URL when a customer arrived on your website |
Referrer | google.com | indicates the URL the visitor came from | |
KM Continent | North America | the continent where the user is geographically located | |
KM Country | United States | the country where the user is geographically located | |
KM Region | Colorado | the state, province, or region where the user is geographically located | |
KM City | Louisville | the city where the user is geographically located | |
KM Device Category | Computer | the broad category of the device being used (e.g., computer, tablet, mobile). | |
KM Device Type | Computer | the specific type of device being used by the user | |
KM Operating System | Mac OS X | the operating system running on the user's device | |
KM Operating System Version | Mac OS X 11 | the version of the operating system running on the user's device | |
KM Browser Version | Chrome 86.0 | the browser and its version being used by the user | |
KM Browser | Chrome | the browser being used by the user | |
KM Screen Resolution | 2560x1080 | the screen resolution of the user's device display | |
Channel | Organic | the main category of traffic that brought the user to your site (e.g., Direct, Paid, Social, Email) | |
Channel:Origin | Organic:google | a detailed combination of the traffic source, the specific platform/domain or campaign name (e.g., Paid:weekly promo) | |
Origin | Google | the specific platform/domain or campaign name that referred the user (e.g., Google Ads, google.com, weekly promo) |
Ad campaign hit
This event is triggered when a customer reaches your site through a Google Ad campaign or other tagged paid search links. We detect this by checking the URL for ?gclid or ?utm_parameters, which indicate that a URL was tagged for advertising purposes. If present, any of the following utm variables in the URL will be captured as properties:
Event name | Property name | Example property value | Description |
---|---|---|---|
Ad campaign hit | Campaign source | google | the value of utm_source , indicating the traffic source (e.g., google, bing, facebook) |
Campaign medium | paid | the value of utm_medium , specifying the marketing medium (e.g., paid, email, cpc) | |
Campaign name | weekly promo | the value of utm_campaign , representing the campaign name or identifier | |
Campaign content | mainlink | the value of utm_content , used to differentiate ads or links in the same campaign | |
Campaign terms | kissmetrics | the value of utm_term , used for paid search keywords |
Page view
This event is triggered every time a user visits any page on your site with our base JavaScript snippet on, and it helps you capture essential details about their activity.
Event name | Property name | Example property value | Description |
---|---|---|---|
Page view | Referrer | kissmetrics.io/pricing | the URL of the page or source the user came from |
Viewed URL | kissmetrics.io/request-demo | the URL of the page the user is currently viewing |
The Page view event is incredibly versatile and can provide insights across all stages of your customer lifecycle. Whether it’s understanding where new visitors are coming from during Acquisition or tracking engagement with key pages during Revenue, this event gives you the foundation to better understand your users.
Requested demo
This event is triggered when a potential customer requests a product demo, signaling interest in learning more about your service. As a custom event, its structure will vary based on your business needs. It can be fired on actions like a button click or form submission. Below is an example of how this event could be structured:
Event name | Property name | Example property value | Description |
---|---|---|---|
Requested demo | [email protected] | the email of the customer requesting a demo | |
Company Name | Kissmetrics | the company name of the customer | |
Requested at | homepage | the page where the demo was requested, the value is going to change depending where the request happens | |
request demo page | another example of where the request might occur (e.g., a dedicated demo request page) |
Please keep in mind that any
Tracking Activation
Behavior
Activation
BehaviorSigned Up
This event gets triggered when a customer signs up for an account.
Event name | Property name | Example property value | Description |
---|---|---|---|
Signed up | First name | Andy | first name of the customer |
Last name | Smith | last name of the customer | |
[email protected] | the email of the customer | ||
Company name | Kissmetrics | the company name of the customer | |
Referral code | 123abc | the referral code used if applicable |
Subscribed to
This event is triggered when a customer subscribes to any content related offering, such as a newsletter, blog, webinar, or whitepaper etc.
Event name | Property name | Example property value | Description |
---|---|---|---|
Subscribed to newsletter | [email protected] | the email address of the customer | |
Content subscription type | newsletter | the type of content the customer has subscribed to | |
Content name | monthly insights | the specific name or title of the subscription content |
Event name | Property name | Example property value | Description |
---|---|---|---|
Subscribed to blog | [email protected] | the email address of the customer | |
Content subscription type | blog | the type of content the customer has subscribed to | |
Content name | SaaS trends blog | the specific name or title of the subscription content |
Event name | Property name | Example property value | Description |
---|---|---|---|
Registered for webinar | [email protected] | the email address of the customer | |
Content subscription type | webinar | the type of content the customer has subscribed to | |
Content name | Maximizing SaaS Retention | the specific name or title of the subscription content |
Event name | Property name | Example property value | Description |
---|---|---|---|
Downloaded whitepaper | [email protected] | the email address of the customer | |
Content subscription type | whitepaper | the type of content the customer has subscribed to | |
Content name | 2024 SaaS Industry Report | the specific name or title of the subscription content |
Logged in
This event is triggered when the customer logs into their account.
Event name | Property name | Example property value | Description |
---|---|---|---|
Logged in | [email protected] | the email address of the customer |
Trial started
This event is triggered when a customer initiates a free or paid trial of your service.
Event name | Property name | Example property value | Description |
---|---|---|---|
Trial started | [email protected] | the email address of the customer | |
Company name | Kissmetrics | the company name of the customer | |
Trial type | free | the type of the trial (e.g. paid, free) | |
Trial duration | 14 day | the duration of the trial period (e.g. 14 day, 30 day, 7 day) |
Activated Account / Used Core Feature #1 / (Your Definition of Active)
This event is triggered when customers activate your service by completing their first meaningful action. Activation is unique to every business, and it’s up to you to define what makes a user “active.” Think about the minimum behavior that signifies a user has started to experience value from your product.
Here are some examples of what might qualify as an activation event:
- The customer installs software, a widget, or a mobile app
Event name | Property name | Example property value | Description |
---|---|---|---|
Installed widget | [email protected] | the email address of the customer | |
Widget name | Analytics Tracker | the name of the widget being installed | |
Installation method | One click | _how the widget was installed |
- The customer completes their profile (e.g., adding key account details)
Event name | Property name | Example property value | Description |
---|---|---|---|
Completed profile | [email protected] | the email address of the customer | |
Profile type | Business | the type of profile being completed |
- The customer publishes their first post or takes an equivalent action
Event name | Property name | Example property value | Description |
---|---|---|---|
Published post | [email protected] | the email address of the customer | |
Post title | Hello World | the title of the post | |
Post category | Onboarding Tips | the category of the post |
- The customer invites their friends, colleagues, or team members
Event name | Property name | Example property value | Description |
---|---|---|---|
Invited members | [email protected] | the email address of the customer | |
Access level | temporary | the type of the access provided (e.g. owner, edit, view only) |
- The customer connects their social accounts (e.g., Facebook, Twitter (aka X))
Event name | Property name | Example property value | Description |
---|---|---|---|
Connected social account | [email protected] | the email address of the customer | |
Social account type | Facebook | the type of social account connected |
- The customer plays a game or engages with the product for the first time
Event name | Property name | Example property value | Description |
---|---|---|---|
Played game | Game name | Puzzle Solver | the name of the game |
Score achieved | 1500 | the score gained |
Tracking Retention
and Engagement
Behavior
Retention
and Engagement
BehaviorUsed Core Feature #1/ #2 / #3 / Etc.
This event is triggered when a customer uses any core feature of your app or service. These events are crucial for understanding how customers engage with your product and identifying opportunities for improvement. The specific features you track will depend on your business, but here are some examples:
For SaaS Survey Tool:
Event name | Property name | Example property value | Description |
---|---|---|---|
Created survey | Survey ID | 12345 | the unique identifier for the created survey |
Survey name | Customer Feedback | the name of the created survey |
Event name | Property name | Example property value | Description |
---|---|---|---|
Ended survey | Survey ID | 12345 | the unique identifier for the created survey |
Survey name | Customer Feedback | the name of the created survey |
Event name | Property name | Example property value | Description |
---|---|---|---|
Received survey response | Survey ID | 12345 | the unique identifier for the created survey |
Survey name | Customer Feedback | the name of the created survey | |
Response Count | 58 | the number of responses received for the survey |
Event name | Property name | Example property value | Description |
---|---|---|---|
Analyzed survey results | Survey ID | 12345 | the unique identifier for the created survey |
Survey name | Customer Feedback | the name of the created survey |
Event name | Property name | Example property value | Description |
---|---|---|---|
Shared survey link | Survey ID | 12345 | the unique identifier for the created survey |
Survey name | Customer Feedback | the name of the created survey | |
Survey share channel | email | the channel through which the survey link was shared |
For SaaS Website Builder:
Event name | Property name | Example property value | Description |
---|---|---|---|
Created website | Website ID | 12345 | the unique identifier for the created website |
Event name | Property name | Example property value | Description |
---|---|---|---|
Picked website theme | Theme Name | Modern Portfolio | the name of the selected theme |
Event name | Property name | Example property value | Description |
---|---|---|---|
Added custom domain | Domain Name | example.com | the custom domain added by the user |
Event name | Property name | Example property value | Description |
---|---|---|---|
Viewed site statistics | Statistic Type | Monthly Traffic | the type of site statistic viewed by the user |
For SaaS feature usage:
Event name | Property name | Example property value | Description |
---|---|---|---|
Used feature | Feature type | Dashboards | the type of the feature used (e.g. Reports, Data Export) |
Event name | Property name | Example property value | Description |
---|---|---|---|
Ran report | Report type | Activity report | the type of the report generated |
Your goal is to track every action a customer could perform aligned with your business questions, so that you have a complete picture of what your customers are doing. If your subscription, app, or service is simple, you may only have a few events to track. On the flipside, if your business is complex, you may have to set up more events in order to capture your customer’s activities.
Clicked Through Email
While being an important action, you don't necessarily need a separate event for this. Our in-built Ad campaign hit event would cover such tracking as long as you are tagging your links from a newsletter, marketing campaign, or product announcement with ?utm
parameters.
Event name | Property name | Example property value |
---|---|---|
Ad campaign hit | Campaign source | mailchimp |
Campaign medium | email | |
Campaign terms | kissmetrics | |
Campaign content | mainlink | |
Campaign name | monthly newsletter |
Tracking Referral
Behavior
Referral
BehaviorInvited / Referred Friend
This event is triggered when a customer refers a friend or invites them to subscribe, sign up, or engage with your product through a social or referral channel. This event helps track the effectiveness of referral programs and social sharing features.
Event name | Property name | Example property value | Description |
---|---|---|---|
Invited friend | Referral recipient | [email protected] | the email address or other identifier of the person receiving the referral |
Referral method | email | the channel used to refer the friend (e.g. email, social media) | |
Referral code | 123abc | the unique code shared with the recipient for tracking the referral | |
Referral source page | example.com/invite | the page where the referral action was initiated |
Shared on Social Media
This event is triggered when a customer shares your product or content through social media platforms.
Event name | Property name | Example property value | Description |
---|---|---|---|
Shared on social media | Social platform | facebook | the social platform used for sharing (e.g., Facebook, Twitter (aka X)) |
Shared content | Product Page | the type of content shared (e.g. product page, blog article) | |
Share URL | example.com/product | the URL shared by the customer |
Instead of setting up a custom event for this, you may use the
?utm
tracking approach which would only require tagging your links.
Sample UTM structure:
https://example.com/product?utm_source=twitter&utm_medium=social&utm_campaign=spring_sale
Tracking Revenue
Behavior
Revenue
BehaviorSubscription started
This event is triggered when a customer begins a new subscription, capturing the initial payment details and subscription plan information. It helps you track customer acquisition and measure new revenue.
Event name | Property name | Example property value | Description |
---|---|---|---|
Subscription started | Subscription billing amount | 299 | the amount billed during the subscription cycle |
Subscription new revenue | 299 | the revenue generated from this new subscription | |
Subscription type | silver | the type or level of the subscription plan | |
Subscription paid frequency | monthly | the billing frequency for the subscription (e.g. monthly, annually) | |
Company name | kissmetrics | the company associated with the subscription |
Subscription billed
This event is triggered each time a customer is billed for their subscription (once a month if monthly, once a year if annually), capturing ongoing revenue details and plan information. It helps to track recurring revenue and subscription status.
Event name | Property name | Example property value | Description |
---|---|---|---|
Subscription billed | Subscription billing amount | 299 | the amount billed during the subscription cycle |
Subscription type | silver | the type or level of the subscription plan | |
Subscription paid frequency | monthly | the billing frequency for the subscription (e.g. monthly, annually) | |
Company name | kissmetrics | the company associated with the subscription |
Subscription canceled
This event is triggered when a customer cancels their subscription and stops paying you. It helps to track churn and its revenue impact.
Event name | Property name | Example property value | Description |
---|---|---|---|
Subscription canceled | Subscription billing amount | -299 | the negative billing amount associated with the cancellation (helps ensure revenue tracking is accurate) |
Subscription churned amount | 299 | the revenue lost due to the subscription cancellation | |
Subscription type | silver | the type or level of the subscription plan | |
Subscription paid frequency | monthly | the billing frequency for the subscription (e.g. monthly, annually) | |
Company name | kissmetrics | the company associated with the subscription | |
Subscription cancelation reason | No budget | the reason for canceling the subscription |
Subscription reactivated
This event is triggered when a previously canceled subscription is reactivated. It helps to track regained revenue and customer engagement.
Event name | Property name | Example property value | Description |
---|---|---|---|
Subscription reactivated | Subscription billing amount | 299 | the amount billed upon reactivation of the subscription (helps ensure revenue tracking is accurate) |
Subscription reactivated amount | 299 | the revenue regained from the reactivated subscription | |
Subscription type | silver | the type or level of the subscription plan | |
Subscription paid frequency | monthly | the billing frequency for the subscription (e.g. monthly, annually) | |
Company name | kissmetrics | the company associated with the subscription |
Subscription upgraded
This event is triggered when a customer upgrades their subscription to a higher plan. It helps to track revenue growth and customer engagement with additional offerings.
Event name | Property name | Example property value | Description |
---|---|---|---|
Subscription upgraded | Subscription billing amount | 50 | the amount billed upon upgrading the subscription (helps ensure revenue tracking is accurate) |
Subscription upgrade amount | 50 | the additional revenue gained from the subscription upgrade | |
Subscription type | silver | the type or level of the subscription plan | |
Subscription paid frequency | monthly | the billing frequency for the subscription (e.g. monthly, annually) | |
Upgrade type | cohort report | describes the specific feature, capability, or value added through the upgrade | |
Company name | kissmetrics | the company associated with the subscription |
Subscription downgraded
This event is triggered when a customer downgrades their subscription to a lower plan. It helps to track revenue loss and adjustment in customer preferences.
Event name | Property name | Example property value | Description |
---|---|---|---|
Subscription downgraded | Subscription billing amount | -50 | the negative billing amount associated with the downgrade (helps ensure revenue tracking is accurate) |
Subscription downgrade amount | 50 | the amount of revenue lost due to the subscription downgrade | |
Subscription type | silver | the type or level of the subscription plan | |
Subscription paid frequency | monthly | the billing frequency for the subscription (e.g. monthly, annually) | |
Downgrade type | cohort report | describes the specific feature, capability, or value removed as part of the downgrade | |
Company name | kissmetrics | the company associated with the subscription |
User specific properties for tracking subscription health
These properties are not tied to specific events but instead describe the current state of a user’s subscription and payment details. They are crucial for analyzing customer health, creating dynamic populations, and applying filters to reports.
Property name | Example property value | Description |
---|---|---|
Subscription status | active | indicates the user's current subscription status (e.g. active, trial, canceled) |
Plan type | silver | specifies the user's current subscription plan type or level (e.g. silver, gold, enterprise) |
Paying frequency | monthly | indicates the current billing frequency for the subscription (e.g. monthly, annually, quarterly) |
What’s Next?
Now that you have your business questions all set and events and properties defined, the next step is implementation. This means integrating the tracking setup into your platform or application to ensure all relevant data is captured accurately and consistently.
We hope you enjoyed this guide. With any questions, please do not hesitate to contact our support team at [email protected].
Updated 11 days ago