> ## Documentation Index
> Fetch the complete documentation index at: https://docs.marketer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshoot integrations

> Diagnose authorization, resource selection, sync, freshness, and reporting-scope problems in the right order.

Most integration problems belong to one of four layers: authorization, resource selection, data sync, or interpretation. Start at the top; later layers cannot repair an earlier one.

## First: preserve uncertain state

<Warning>
  **Status unavailable** means the latest status read failed. It is not proof that the provider disconnected. Refresh before connecting, replacing credentials, changing selections, or disconnecting.
</Warning>

Marketer keeps the safe last-known connection summary when a provider status read fails. Use the exact provider message and last successful time in an escalation.

## The diagnostic order

<Steps>
  <Step title="Confirm workspace and role">
    Check the active workspace in the switcher. Owners, Admins, and Members can manage integrations; Viewers are read-only.
  </Step>

  <Step title="Confirm authorization">
    Resolve **Disconnected** or **Reconnect needed** before changing selections or retrying data.
  </Step>

  <Step title="Confirm provider resources">
    Resolve **Finish setup**, **Choose accounts**, **Choose properties**, **Refresh access**, or a missing-store state.
  </Step>

  <Step title="Confirm sync and coverage">
    Once authorization and selection are healthy, inspect sync progress, last sync, and completed date range.
  </Step>

  <Step title="Confirm interpretation">
    Compare the same account, currency, attribution model, metric definition, and date range.
  </Step>
</Steps>

## State-to-action matrix

| Symptom                                     | Likely layer                 | Correct first action                                           | What will not fix it                             |
| ------------------------------------------- | ---------------------------- | -------------------------------------------------------------- | ------------------------------------------------ |
| **Status unavailable**                      | Status read                  | Refresh and wait for a verified state                          | Disconnecting or creating a duplicate connection |
| **Disconnected**                            | Authorization                | Use the provider's connect action                              | Resync                                           |
| **Reconnect needed**                        | Authorization                | Reauthorize or replace the rejected key                        | Resync                                           |
| **Finish setup**                            | Selection                    | Reopen the provider setup and save resources                   | Reconnecting a healthy grant                     |
| **Choose accounts** / **Choose properties** | Selection                    | Save valid leaf accounts or GA4 properties                     | Waiting for sync                                 |
| **Refresh access**                          | Provider roster              | Restore provider access, then refresh the roster               | Repeated resync                                  |
| **Access lost** on one Google Ads account   | Resource access              | Restore that account or remove it from selection               | Resyncing every account                          |
| **Add a Facebook Page**                     | Meta publishing prerequisite | Add the missing Page in the asset dialog                       | Resyncing reporting                              |
| One Shopify store needs reconnect           | Store authorization          | Reconnect that store only                                      | Disconnecting healthy sibling stores             |
| **Sync failed** with healthy access         | Data import                  | Use **Retry sync**, **Resync**, or **Sync** as shown           | Reauthorizing without evidence                   |
| Recent totals differ                        | Freshness or interpretation  | Check coverage, currency, attribution, and provider processing | Assuming the connection is broken                |

## Provider-specific checks

### Meta Ads

* Verify **Facebook user** and every group under **Assets granted**.
* Use **Finish setup** for unresolved selections and **Add a Facebook Page** only for publishing readiness.
* Check whether **Backsyncing is paused**. A frozen last-sync time can explain stale reporting while Meta continues running.
* Confirm conversion source and account currency before reconciling totals.

### Google Ads

* Confirm selected leaf customer IDs under **Synced Google Ads accounts**.
* If an account shows **Access lost**, restore provider access or remove it with **Manage accounts**.
* Use **Refresh account access** when the current authorization resolves no selectable roster.
* Recommendation auto-apply state is separate from reporting sync.

### Google Analytics

* Search by property ID if names are ambiguous.
* Use **Refresh property access** when the Google identity has a grant but no selectable properties appear.
* Compare GA4 attribution with ad-platform attribution before classifying a total mismatch as a sync problem.

### Shopify

* Reconnect only the affected store.
* Check **Include in revenue rollup** before investigating blended revenue, ROAS, or MER.
* For older reporting, verify **Full order history**; without it, orders older than 60 days can be missing.
* Check each store's source currency.

### Slack

* Installation and **Finish Slack setup** are different steps.
* If channel listing reports missing permission, use **Reconnect Slack** to grant the current scope set.
* If direct messages are not linked, use **Open Slack to finish** and run `/marketer whoami`.
* Confirm **Post to Slack**, the selected **Channel**, severity floor, and event groups.

### Beta integrations

* Always retain the Beta label in a result.
* For Microsoft Ads (Beta), select at least one account explicitly; **No accounts** is a provider-access problem.
* For OpenAI Ads (Beta), replace only rejected account keys; healthy siblings can remain active.
* For Triple Whale (Beta), confirm **Pixel Attribution** scope and keep the displayed filter context with comparisons.

## Freshness is not one timestamp

Use all of these signals together:

* connection state;
* selected resource roster;
* sync stage;
* last successful sync;
* historical coverage;
* provider processing or attribution delay; and
* whether the current day is complete.

**Data ready · syncing past performance** means recent reporting may be usable while older history is still filling. Define the usable date range instead of calling the whole source complete.

## Before disconnecting

Review what will lose source context:

* blended analytics and comparisons;
* campaign and creative analysis;
* Meta audiences, pixels, catalogs, or publishing readiness;
* Shopify revenue rollups;
* Slack alerts, approvals, and identity links; and
* workflows or agent requests that depend on the provider.

Disconnect only when removal is intended, not as a generic refresh technique.

## Prepare a useful escalation

Include:

* workspace name and your effective role;
* provider and exact page state;
* selected account, property, store, or asset identifier;
* exact error text;
* last successful sync and requested date range;
* expected versus actual result; and
* a sanitized screenshot.

Never include OAuth codes, reset links, full API keys, passwords, or payment information.

## Next step

After recovery, rerun the smallest read-only comparison that originally failed. Confirm source, resource, currency, attribution context, and completed coverage before resuming automation.


## Related topics

- [Integrations](/integrations/overview.md)
- [Security and troubleshooting](/workspace-admin/security-and-troubleshooting.md)
- [Performance and custom views](/product-guides/analytics-performance-and-views.md)
- [Build a Meta campaign](/product-guides/campaigns-meta-build.md)
- [Build a Google Ads campaign](/product-guides/campaigns-google-build.md)
