Skip to main content

Issues

What this is​

The Issues page lists problems Launchpad has detected and that need someone to act: ad accounts whose sync keeps failing, Google campaign numbers that do not match Google, and (for Super Admins) Spend Guard alerts that could not reach Slack or Spend Guard checks that failed. A bell in the sidebar shows how many are open and links here.

An issue clears on its own once the next attempt works. There is nothing to dismiss.

Common questions​

Who can see it?​

People with platform-administration access (Super Admin and Admin). Issues about Spend Guards are shown only to Super Admins.

What are the groups?​

Issues are grouped by source:

  • Ad account sync — a connected ad account's sync is failing. The entry names the account and shows the latest error.
  • Google campaign accuracy — the daily check of Google campaign and ad group numbers found a difference.
  • Spend Guard alerts — an alert could not be delivered to Slack (for example the bot was removed from the channel).
  • Spend Guard checks — a guard could not read the account's spend.

Each entry has a link to the screen where it can be fixed and, when one exists, a step-by-step help link. It also shows when the problem was first and last seen and how many times it has happened.

The count looks stale​

The bell refreshes on a timer and keeps the last known count if a refresh fails. Open the page for the current list.

How is this different from Sync Health?​

Sync Health is the full picture of every connector. Issues is the short list of things that are broken right now.

How to use it​

  1. Click the bell, or open Issues in the Admin section.
  2. Open the entry's link to go to the screen that fixes it.
  3. Check back after the next scheduled attempt; the entry disappears when the problem is gone.
For developers — routes, guards, and internals
  • Route: /admin/issues. Nav entry requires view_platform_admin.
  • API: GET /api/admin/issues — requirePlatformAdmin; Spend Guard sources are included only when the caller's role is super_admin.
  • Sources: stored issues live in the system_issues table (spend_guard_slack and entity_parity), written on failure and resolved on the next success. Derived issues (ad_account_sync, spend_guard_check) are computed from existing state in src/lib/system-issues.ts. Labels are in src/lib/system-issues-shared.ts.
  • Bell: src/components/admin/IssuesBell.tsx.