[01/Integration record]

Daily traffic and conversion report per brand automation for PostHog

Daily traffic and conversion report per brand automation for PostHog is an integration job, not a software purchase. Data Jockey has built one as a cron job on the VPS (08:00 ET): it runs in production. This page publishes the calls, reads, writes and safety checks that build used, read out of the code.

What it calls

These are the endpoints this build calls directly, with runtime values replaced by a placeholder.

  • the HogQL API at `us.posthog.com/api` across projects 574440 a brand, 574469 a brand, 574976 a brand and 574979 Data Jockey
  • deterministic with no model call

Safety checks

An automation that writes into a system of record has to refuse some cases. These are the checks this build makes before it acts.

a brand Cloudflare D1 as the consult system of record

Gmail OAuth send with a hard recipient allowlist enforced server-side

sender split so a brand never mails from the a brand inbox

cold-start days get a note instead of a wall of zeros

a watchdog alerts when a report file is over 3 h old or a run log is missing

Schedule and settings

These are the tuned constants from the delivered build. They are included because they are the part nobody can guess in advance, and they are the part a second implementation gets wrong.

  • a `DRY_RUN=1` mode

Where it runs

It runs as a cron job on the VPS (08:00 ET).

It also touches Gmail and Cloudflare D1.

What this record is

Data Jockey is a services firm, so this page is an implementation record. There is no product to buy here and no price on this page.

No customer is named on it either. Data Jockey publishes no customer list, and the calls and checks above are the part a reader can check.

Questions we hear

Is daily traffic and conversion report per brand automation for PostHog a product or a project?
It is a project. The queries on this page are specific to how one company had its PostHog set up: which fields carried the human identifier, which documents already existed, and where a human had to stay in the loop. A product cannot know any of that in advance, which is why the integration is the work.
Did this run in production?
Yes. It runs in production today as a cron job on the VPS (08:00 ET), and this page is read out of the code that runs.
What happens when the automation is not sure?
It stops. This build carries 5 distinct kinds of check, and every one of them exists to hand the case to a person. Automating the confident cases and routing the rest is what makes an integration safe to leave running.
Can Data Jockey build this for us?
Book a call and we will scope it against the systems you already run. Data Jockey publishes no prices, so there is no figure on this page, and what a build costs depends on what your setup turns out to need.

Where these facts come from

Every call, table, check and setting above comes from the delivery record of this build, and each identifier in it was checked against the file that implements it by tools/capture-proof-of-work.mjs. The capture is committed at data/raw/dj-proof-of-work-capture-2026-09-07.json and records a sha256 of each source file. Generated 2026-09-07. No figure here was rounded, averaged or estimated.

[+/Skip ahead]

Book a 30-minute intro.

Book a call
[06/BOOK A CALL]

30 minutes about your operation.

There is no pitch. We spend the call understanding your pain points, whether that means responsible AI adoption or quantifying where automation will pay off, and providing a plan of attack.