Setpilot keeps your dashboard up to date automatically. This article explains the refresh schedule and how to trigger a sync manually if you need the latest numbers immediately.
How the data pipeline works
Stage | When it runs | What it does |
Webhook ingest | Instantly on every new order | Shopify sends a webhook; Setpilot saves the raw order immediately. |
Ad spend sync | Every 6 hours | Pulls ad spend from Facebook/Meta, Google Ads, and Axon for connected accounts. |
Transformation | Every hour, on the hour | Recomputes all P&L aggregates (CM1 to CM4) for every day and country. |
Dashboard refresh | After each transformation | Serves the latest aggregates to the UI. |
The Sync now button
In the top-right of the dashboard you will see a Sync now button. Clicking it kicks off an on-demand run of the transformation pipeline so you do not have to wait for the next hourly tick.
A spinner appears while the sync is running. When it completes, the dashboard refreshes automatically with the new numbers.
Rate limiting
Manual sync is rate-limited per shop to prevent abuse. If you click Sync now and nothing happens, a previous sync is still in flight or you have synced very recently — wait a minute and try again.
Live status
The dashboard shows the last sync timestamp at the bottom of the page. If a sync is currently running, the UI streams live progress so you can see which phase is active.
When is a manual sync useful?
You just added or edited costs and want to see the impact right away.
You just connected an ad platform and want to pull in historical spend immediately.
You are preparing a report and want the latest numbers before exporting.
Incremental sync
Most syncs are incremental — Setpilot only re-processes data that has changed since the last run. Full re-computation happens automatically when you change foundational settings like default margins, shipping rules, or payment cost definitions.
