BitterHub

Portfolio analytics in one API

BitterAnalytics collects sessions, search rankings, revenue, and uptime data across your entire property portfolio and serves it through a single, consistent API.

BitterAnalytics is the analytics backbone for the Bitter constellation. It pulls data from Google Analytics 4, Google Search Console, Bing Webmaster Tools, Stripe, and uptime monitors, then normalizes everything into a unified data model. Factory and BitterHub query this API instead of hitting six different vendor APIs with six different auth flows.

Every tracked property gets a 30-day summary with session counts, search impressions, click-through rates, revenue totals, and uptime percentages. Trend data goes back months, giving you the full picture of how each property is performing over time. Market analysis breaks down traffic sources, top landing pages, and search queries automatically.

The service runs as an API-only Rails app on BitterGrid. It collects data on a schedule via SolidQueue background jobs and stores snapshots in Postgres. Properties are registered through BitterHub, and all API access is authenticated via Hub service tokens. There is no dashboard — BitterAnalytics is infrastructure, not a consumer product. The intelligence it provides powers Factory's allocation decisions and the portfolio overview in BitterHub.

How it works

1

Register

Add a property through BitterHub. BitterAnalytics provisions the GA4, GSC, and Bing connections automatically.

2

Collect

Background jobs pull fresh data from every connected source on a regular schedule. Snapshots are stored in Postgres.

3

Query

Hit the Hub API for summaries, trends, and signals. One endpoint, one auth token, all your properties.

Data sources

Google Analytics 4

Sessions, users, page views, engagement rate, and traffic source breakdown via the GA4 Data API.

Search Console

Impressions, clicks, CTR, and average position by query and page. Index coverage and crawl status.

Bing Webmaster

Bing-specific search impressions, clicks, and ranking data. Sitemap submission and crawl monitoring.

Stripe Revenue

Charge totals, subscription MRR, and revenue trends ingested from Stripe webhooks and the Charges API.

Frequently asked questions

What is BitterAnalytics?

BitterAnalytics is an analytics collection and intelligence service that aggregates data from GA4, Search Console, Bing, Stripe, and uptime monitors into a single API. It provides the data layer that Factory and BitterHub use for portfolio-level decision making.

How do I access the data?

All data is available through the BitterHub API using your Hub service token. Endpoints include per-site summaries, historical trends, signal snapshots, and a portfolio-wide overview. There is no separate login for BitterAnalytics itself.

How often is data refreshed?

Collection jobs run on a schedule via SolidQueue. GA4 and Search Console data is typically refreshed daily. Revenue data arrives in near-real-time via Stripe webhooks. Uptime data is continuous from BitterPing.

Can I use BitterAnalytics standalone?

BitterAnalytics is designed as infrastructure for the Bitter constellation. Access is through BitterHub service tokens. It does not have its own user-facing dashboard or standalone billing.

What properties are tracked?

Any property registered through BitterHub can be tracked. This includes Bitter-branded constellation products, Hub-integrated properties, and fully standalone portfolio sites. Registration is done through the Hub API.