# Troubleshooting

> Fixes for the problems people run into most, from an ad account that needs reconnecting to a change the guardrails refused.

Each problem below says what you see, why it happens and what to do. If yours isn't here, see [Get help](#get-help).

## Sign-up says to use a permanent email address

**Why:** Roasby doesn't accept temporary or disposable email addresses (such as Mailinator), because the account's emails (sign-in codes, alerts, the weekly report and billing) must reach you.

**Fix:** sign up with your work or personal email address, or with a Google account on one.

## An ad account shows Reconnect needed

**Why:** Roasby's access to the ad platform ended. You removed Roasby in your Google or Microsoft account settings, changed your password or deleted the ChatGPT Ads API key, or the person who connected the login left the workspace.

**Fix:** an owner or admin opens **Ad accounts**, selects **Reconnect** and signs in again (for ChatGPT Ads, pastes a new key of the same account). Until then the account is read-only and doesn't sync. See [Reconnect needed](/docs/ad-accounts#reconnect-needed).

## A sync failed

**Why:** the ad platform refused or didn't answer Roasby's read. The account shows the reason under **Last synced**, and your assistant sees it as `last_sync_error` in `list_ad_accounts`.

**Fix:**

- Read the reason. If it says access ended, reconnect the account (see above).
- Otherwise select **Sync now** on the account, or ask your assistant to sync it (`run_ad_account_sync`). **Sync now** shows when it is available again.
- If it keeps failing, [get help](#get-help).

## The numbers look old

**Why:** Roasby answers from a synced copy of each ad account, so numbers are as fresh as the account's last sync. Periods on the dashboard end **yesterday**, and ad platforms keep adding late conversions for a few days.

**Fix:**

- Check **Last synced** on the account, then select **Sync now** to read it at once.
- Changes you made in the ad platform itself (or in Google Ads Editor) show after the next sync.
- A [weekly report](/docs/weekly-report) keeps the numbers it was sent with; ask for current ones (`get_performance_summary`).

See [Syncing](/docs/ad-accounts#syncing).

## A change failed because an item was removed

**Why:** the keyword or ad group was removed in the ad platform after Roasby's last sync, so the platform no longer has it. The change log says "no longer has this item".

**Fix:** nothing to do: after a bid change, pause or enable Roasby marks it removed in its copy at once (otherwise the next sync does), so the next preview leaves it out, and the other items of the same change were sent. Ask your assistant to preview the change again if you still want it.

## A change was refused by the guardrails

**Why:** the change is beyond the ad account's guardrails: above the max daily budget or the max bid, or a bigger rise than the max change per step allows (cuts are never limited, except a target ROAS, whose fall counts as a rise). The preview says which one.

**Fix:**

- Make a smaller change, or several steps. For bids and bid adjustments, ask your assistant to limit the change to the guardrails: it takes the largest step allowed.
- Or raise the guardrail yourself: an owner or admin opens **Ad accounts → Guardrails**. Your assistant can never change a guardrail.

Your assistant lists the steps only a person can do in `user_actions`, with a link. See [Budget and bid guardrails](/docs/safety-model#budget-and-bid-guardrails).

## I can't change ads in this workspace

**Why:** you are a **member**, and members only read unless the workspace allows them to change ads.

**Fix:** ask an owner or admin to turn on **Allow members to change ads** in **Workspace settings**, or to make you an admin. Your assistant checks this with `get_current_workspace` (`can_change_ads`). See [Who can change ads](/docs/workspaces#who-can-change-ads).

## An ad account shows Read-only: over the limit

**Why:** the workspace has more ad accounts than it can keep active. The extra accounts keep their data but stop syncing and can't be changed.

**Fix:** an owner or admin chooses which accounts stay active with **Make active** on **Ad accounts**, or asks the assistant (`preview_activate_ad_account`, then `activate_ad_account`). A person can still revert earlier changes on the web. See [Limits on ad accounts and members](/docs/ad-accounts#limits-on-ad-accounts-and-members).

If your workspace has a monthly allowance of ad changes and used it up, new changes are refused until the count starts again on the 1st. Reverts, reports and previews keep working.

## An ad account shows Read-only: set by support

**Why:** Roasby support made the account read-only, for example during a payment dispute or at your request.

**Fix:** it keeps syncing and reporting, but every change, reverts included, is refused until support allows changes again. Write to support@roasby.com.

## My assistant doesn't see Roasby

**Why:** the connection is missing, signed out or turned off in this chat.

**Fix:**

1. Check that Roasby is added in your AI app with the address `https://roasby.com/mcp`, and turned on for this chat.
2. In Claude Code, run `/mcp` and choose **Authenticate** for Roasby.
3. Open **AI connections** in Roasby. If your assistant isn't listed, or shows **Not used recently**, add Roasby again and approve the connection.
4. Ask *"Which Roasby workspace am I in?"*: your assistant should call `get_current_workspace`.

See [Connect your AI](/docs/connect-your-ai).

## Google Ads refuses every campaign change

**Why:** Google Ads asks each campaign to declare whether it is EU political advertising. Until every campaign in the account has declared it, Google refuses every campaign change there. The preview names the campaigns, and a refused change says why in the [change log](/docs/change-log).

**Fix:** declare it for those campaigns (or the whole account) in the Google Ads web interface, then try again. Roasby declares it for each campaign it creates, after asking you. See [EU political advertising](/docs/creating-campaigns#eu-political-advertising).

## A new campaign stays off

**Why:** a campaign whose daily budget is above the max daily budget stays off, and so does one that was only partly created, until a sync shows an ad in it. A new ad account has no max daily budget until you set one, so your assistant can't create campaigns in it.

**Fix:** set the max daily budget on **Ad accounts** (**Set it to create campaigns**), or lower the campaign's budget. See [Everything new starts paused](/docs/safety-model#everything-new-starts-paused).

## Get help

- Open **Support** in your user menu, or [Support](/support), for the contact form and email address.
- Or ask your assistant to write to support for you: it previews the message (`preview_create_support_request`) and sends it after you confirm (`create_support_request`). You get a reference to quote, and the team replies by email within 2 business days.
- Search these docs, or ask your assistant: it reads them with `search_docs` and `get_doc`.
