Observer

Datasets

A dataset is the source of truth for an Observer monitor. Each dataset connects to GA4 or Adobe Analytics, pulls metrics on a schedule, and feeds the alarms you build on top of it.

Datasets vs monitors

Observer separates "what data is being collected" from "what we're alarming on." A dataset describes the connection: where the numbers come from, which property, which dimensions and metrics, how often to pull, what time zone the schedule runs in. A monitor sits on top of a dataset and says "if this metric crosses this threshold, alert this group."

That separation matters because one dataset typically powers multiple monitors. A single GA4 dataset pulling sessions, purchases, and revenue can feed a low-traffic alarm, a no-purchases alarm, and a revenue-drop alarm without re-pulling the data three times.

Pick a source

On Observer > Datasets, click Add Dataset. The Source dropdown offers GA4 (Google Analytics 4 API) and Adobe Analytics. The fields below the source dropdown change to match the source you pick.

GA4

Enter the GA4 Property ID (the numeric ID from the GA4 admin panel). Optionally enter a Stream ID to filter the dataset to a single web or app stream. Pick the dimensions and metrics to pull. The date dimension is included automatically.

GA4 caps you at 9 dimensions per request, so keep the dataset focused. If you need more dimensions, build multiple datasets rather than one giant one. Splitting also makes the schedules easier to reason about.

Adobe Analytics

Enter the Adobe Report Suite ID and Global Company ID. The first time you set up Adobe on this property, also enter the API credentials: Client ID, Client Secret, and Org ID from your Adobe I/O Console project. Credentials are stored at the property level and reused across every Adobe dataset on that property.

On subsequent Adobe datasets, the credentials panel shows masked existing values. Leave the fields blank to keep them, or enter new values to rotate them.

Schedule

Datasets refresh on a schedule: every 4 hours, every 6 hours, every 12 hours, daily, weekly, or manual. For non-manual schedules, set the hour of day, day of week (for weekly), and time zone.

Daily schedules typically run mid-morning local time so the previous day is fully closed and reported on the source side. Adobe in particular has a longer reporting lag than GA4, so very early-morning Adobe pulls can return partial numbers.

Tip

Configuration values (Property ID, Stream ID, Schedule, Adobe IDs) all live in the dataset's Configuration dictionary, not as top-level fields. If you're scripting against the API or comparing dataset shapes, look there.

Save and run

Save the dataset. The first run pulls a backfill window so the monitors have something to compare against. Subsequent scheduled runs pull recent data incrementally and feed any monitors built on the dataset.

Troubleshooting

Dataset stops returning rows

Three usual culprits: expired API credentials (Adobe or GA4 service account), source-side data lag pushing data out of the schedule's window, or a property that was disabled or moved. Check the dataset's last-run status and re-authenticate if needed.

Adobe credentials prompt keeps appearing

Adobe creds are saved on the property the first time. If a different property is selected, you'll be prompted again. Switch back to the original property if those creds should be reused.

Numbers don't match what you see in the source UI

Filters and time zones are the usual culprits. The dataset's stream ID filter narrows the data; the schedule time zone affects the date boundary. Match those to the source-side report you're comparing against.