Skip to content

Google Analytics

The Google Analytics app connects Google Analytics 4 to Sprigr Team. Agents can run reports and pivots across any dimension and metric (sessions, users, conversions, revenue, engagement), realtime reports, compatibility checks, the metadata catalogue including custom definitions, full exports, and audience exports, and can read the Admin API: accounts, properties, data streams, custom dimensions and metrics, key events, links and retention settings. A scheduled import mirrors 13 months of daily GA4 reporting into twelve month-sharded data indexes so GA4 can be queried next to Shopify orders and Google Ads spend. The app is read-only: it never changes GA4 configuration.

  • A Google account with access to the GA4 properties you want agents to report on.
  • Admin or Owner role in your Sprigr Team organisation to install the app. Any member can connect their own Google account once it is installed.
  1. Install the app

    Sign in to team.sprigr.com, open Apps in the sidebar, find Google Analytics under Available, and install it. See Installing Apps.

  2. Connect your Google account

    Ask your agent to connect Google Analytics. It calls start_google_analytics_oauth and hands you a Google consent link bound to you. Approve it, and the app lists your GA4 properties; if there is exactly one it becomes your default. Consent links expire after 24 hours, so ask for a fresh one if it has gone stale. You can also open the app’s settings page and use the connect link there while signed in to Sprigr.

  3. Choose the reporting connection for the import

    The scheduled import has no calling user, so by default it uses the earliest connected person who has a default property. An owner or admin can nominate a specific connection with ga_set_reporting_connection, and optionally restrict the import to a property allowlist.

  4. Check the connection

    Ask your agent “Which GA4 properties can you see?” It calls list_account_summaries through the google_analytics tool. The settings page shows an aggregate count of connected people.

Every 15 minutes the import walks each property one day per grain into twelve month-sharded indexes: traffic (by channel, source, medium, device and country), events including the ecommerce funnel, items, campaigns, acquisition, landing pages, pages, geo, funnel by landing page, items by channel, item lists and promotions. The first pass backfills 13 months, then the trailing days refresh as GA4 finalises them. The Data API serves daily aggregates only; event-level rows need GA4’s BigQuery export.

  • ga_import_status shows the reporting connection in use, the property allowlist, and per property and grain the phase, cursor date, rows indexed, any dimensions or metrics the property rejected, and errors.
  • ga_import_restart re-walks history for everything, one property, one grain, or from a given date. Rows are upserted on deterministic ids, so nothing is duplicated.

The app exposes a single google_analytics tool that takes an action, with 34 actions:

  • Data API: run_report, batch_run_reports, run_pivot_report, batch_run_pivot_reports, run_realtime_report, get_metadata, check_compatibility, export_report (paginate everything), and audience exports (create, get, list, query).
  • Admin API, read-only: account summaries, accounts, properties, data streams, custom dimensions and metrics, key events, conversion events, Google Ads and Firebase links, data retention and data sharing settings, each with list and get by id.
  • Connection: connection_status, set_default_property, disconnect.
  • Weekly traffic brief. A scheduled workflow summarises sessions, users, conversions and revenue by channel from the indexes.
  • Campaign check. “How did the spring campaign perform?” reports sessions, engagement and conversions filtered by campaign name.
  • Ecommerce funnel. The agent reports view-item to add-to-cart to purchase rates by landing page.
  • Joined analysis. GA4 sessions by campaign joined to Google Ads spend by campaign name and to Shopify orders by date gives cost per order per campaign without a spreadsheet.
  • Realtime sanity check. “Is traffic normal right now?” runs a realtime report during a launch.

Not connected You have not linked your Google account. Ask the agent to connect Google Analytics and approve the link it gives you. One teammate being connected does not connect anyone else.

Consent link does not work Links expire 24 hours after they are minted. Ask the agent for a fresh one.

A property is missing The app shows the properties your Google identity can access in GA4. Ask a GA4 administrator to grant your account access, then reconnect.

The import is not running No connected person has a default property, or the nominated reporting connection has been revoked. ga_import_status names the connection in use or why none qualifies; an owner or admin can nominate one with ga_set_reporting_connection.

A dimension or metric is rejected GA4 properties differ in what they accept, and some combinations are incompatible. Use check_compatibility or get_metadata, or ask the agent to adjust the report.