Instantly start measuring user interactions and conversion rates for your app. Seagull has Pirate Metrics built in. In this short guide you will learn how to work truly data-driven, what your essential metrics are and how the seagull framework can help you succeed.

Data Driven Development

Success, Profit and Growth are side-effects of customer satisfaction.

How do you know your customers like what you're building right now? You measure user interactions. But what do you actually want to measure? Which numbers are really important? Which ones are not? How to implement tracking ideally? These are hard questions and need time to figure out in addition to actually building the software product.

Seagull gives you an easy analytical framework to start measuring user interactions right away: The famously known Pirate Metrics.

With just these five key performance indicators (KPIs) you are able to have a clear picture about the customer journeys using your app. Strictly speaking, these numbers tell you exactly what you should focus on next for maximum growth.

Activate Analytics

Enable automatic tracking of the metrics with the following CLI command:

$ seagull enable analytics --id UA-XXXXXX-X

The important thing is to provide a real, valid google analytics tracking id. This will setup all neccessary steps to enable google analytics tracking, scaffolding a backend API handler for storing additional data and exposes a set of simple triggers for the pirate metrics.


Zero-Configuration Data Collector

Seagull automatically tracks all user acquisitions to google analytics as well as your own CloudWatch log streams. The basic issues of tracking Single-Page-Apps are already solved for you.

Start with getting as much traffic as possible:

  • Organic: people ask search engines for answers to their current problems and click on search results that may have the answer. Optimizing this traffic origin is a craft called Search Engine Optimization (SEO).
  • Social: people follow recommendations of other people they might know or follow, clicking links on social networks or messengers. Optimizing this traffic origin is an art called Content Marketing.
  • Paid: sidetrack people who are looking for something else or nothing at all through advertising. From classical Banners over sponsored search results to blogvertising, this includes everything where you buy clicks to your application in cash.
  • Direct: People in this traffic category have been on the website before or heard from your app via mouth-to-mouth. High rates of direct traffic are the result of Brand Awareness and high retention rates.


User Interaction Tracking

Seagull does track the exact consecutive page views of your users by listening on browser history change events. Users who do a click on any second page within a session are tracked as "activated".

Give users what they look for

User who do not bounce but actually do something on your app, like clicking through a few things are activated. Keeping it even simpler: any "second" click counts as activation, meaning coming to your web app and clicking at least one internal link. This also means that your activation rate is measured as the acquired traffic that doesn't bounce.

Increasing the user activation rates translates into optimizing the actual user experience (UX). Strictly speaking, aim for a low complexity, high accessability and make your point short and clear. Mostly you only have around 5 seconds to convince the user not to bounce immediately, page load time included.


Advanced User Session Management

Seagull does identify users across sessions by storing an UUID in the localStorage of the Browser. Every visit after the first one counts as retention event. This way, real customer journeys can be reconstructed instead of often meaningless session-based guessing.

Keep your users

Retention rate is the the rate of users that come back after the first visit (and how often). Users that don't come back are churning. Your goal here is to minimize the churn rates and to get users to come back frequently and often.

It is very costly to acquire new users to your app, so you really want to keep them. Generating revenue from retention users is comparably cheap and easy. High retention rates also is the core for slowly builing brand awareness, which then leads to more user acquisitions while keeping the users you already have.


Turn a profit

This metric is highly individual to the kind of product you're building, and not everyone optimizes for something money-related at all. But what you do have in any case is a transaction of any kind. Seagull provides an easy tracking helper to trigger the event with data:

import { Tracking } from '@seagull/core'

  id: 'purchase order id', // whatever this is for you
  revenue: 1234.56 // the money amount paid (full)

The interface definition will aid you to achieve data cleanness, and because of the well-defined structure of the data object, reports can be derived easily.

Caution: traditional display advertising (banners, popups, textboxes) is a soon-dying monetization strategy, so consider something more substantial for your app.


Referral rate is the rate of users who recommend ("share") your app to other users via social networks or messengers (and how many acquisitons occur per share).

Seagull currently will not measure this rate automatically for now, since this is highly individual per app and non-trivial to measure without manual assistance. However, you can just invoke the following:

import { Tracking } from '@seagull/core'


The most important thing is having content worth sharing in the first place. Strictly speaking: you need web pages with optimized metadata and actually interesting things your users might share with their friends.