0.11
There's a lot of open issues
A full-featured, mountable analytics dashboard for your Rails app, powered by Ahoy.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Project Readme

AhoyCaptain

A full-featured, mountable analytics dashboard for your Rails app, shamelessly inspired by Plausible Analytics, powered by the Ahoy gem.

Notice

Currently requires using PG and a JSONB column for your data.

Installation

1. Do the bundle

Drop it in:

$ bundle add ahoy_captain

2. Install it

$ rails g ahoy_captain:install

3. Make sure your events are setup correctly

AhoyCaptain doesn't do any tracking for you; it merely provides a dashboard for your data from the Ahoy gem.

By default, AhoyCaptain assumes you're tracking controller and action in your Ahoy::Event properties, and a page view event is named $view. See this section for more information: https://github.com/ankane/ahoy#events

For a quick sanity check:

AhoyCaptain.event.where(name: AhoyCaptain.config.event[:view_name]).count
AhoyCaptain.event.with_routes.count

This can be fully-customized. See the initializer config/initializers/ahoy_captain.rb for more.

4. Star this repo

No, seriously, I need all the internet clout I can get.

5. Analyze your nightmares

If you have a large dataset (> 1GB) you probably want some indexes. rails g ahoy_captain:migration

Features

  • Top sources
  • Top pages, landing pages, and exit pages
  • UTM reporting
  • Top locations, by countries, regions, and cities
  • Top devices, by browser, OS, and device type
  • Goal tracking
  • Funnels
  • Filter by:
    • Page
    • Location
    • Device type
    • OS
    • UTM tags
    • Goal
    • Event Property
  • CSV exports
  • Date comparison

Coming soon ™️

  • Bug fixes and performance improvements

Contributors

This was built during the Rails Hackathon in July 2023 with afogel and dnoetz.

Contributions

Do your worst; please and thank you in advance! :)

License

The gem is available as open source under the terms of the MIT License.