Margly
Settings

Data sync

When Margly pulls data from the e-shop and ad platforms, how many times a day by plan, and how to load data manually.

7 min read

How Margly updates data#

Margly pulls data automatically in the background according to your plan — from the e-shop (Shoptet / Shopify / Upgates), from ad platforms (Google Ads, Meta, Sklik, Heureka), from Google Analytics, and Search Console. You don't need to click anything, Margly itself connects and pulls what's new.

Update times — 4 daily windows (slots)#

Margly has 4 fixed slots in UTC during which updates happen. The specific times don't change, they don't shift randomly:

SlotUTCCZ time (winter → summer)
morning03:0004:00 → 05:00
midday11:0012:00 → 13:00
evening17:0018:00 → 19:00
night22:0023:00 → 00:00

Which slots Margly runs for you depends on the plan (see table below).

How many times a day by plan#

PlanNumber of updates / daySlots
Startermorning
Professionalmorning + evening
Businessmorning + midday + evening + night
Enterprisesame as Business
Trial (14 days)Margly during the trial runs at the Business level

What Margly pulls in each update#

In each update Margly pulls new and changed data:

  • New orders since the last update
  • Changes to existing orders over the last 60 days (cancellations, returns, refunds) — even later state changes are reflected
  • Product changes (price, availability, purchase price, VAT rate)
  • New spend from ad platforms for recent days

The first full pull of the entire history doesn't happen again — it happened only once after connection (see First data load). Subsequent updates only catch up differences.

Where you see update status#

In the Integrations section (plug icon in the left menu) you'll find the "Data updates" block. Margly there shows:

  • Frequency: "Your data updates N× daily" + specific local times.
  • Next update: "Next update approximately at HH:MM".
  • Table of recent updates — date and time, slot (morning / midday / evening / night), number of processed orders, status.

States in the table#

Margly doesn't use emoji — you see an icon and text:

  • Success — the update finished, the data is current.
  • In progress — the update is currently running (spinning wheel).
  • Partial — some data was pulled, some failed (typically timeout for a large e-shop). For a partial update Margly displays how many records it processed and the reason for failure.
  • Sync error — the entire update failed. Click for detail or see Troubleshooting.

Below the Data updates block is also a collapsible section Sync history — a complete log of all updates (orders, products, customers, costs, GA4, Search Console, Google Ads, Meta Ads, Sklik) you can review.

Manual data load — where and under what conditions#

Margly doesn't have one universal "Load all data now" button. Manual load exists only for some integrations and for most of them only in restricted mode — typically as an emergency brake when there's an error or for the very first load, not as a "give me fresh data anytime" button.

What you find where#

PlatformWhere the button isWhen it is active
Shoptet — CSV importIntegrations → cards Orders / Products / Customers, button "Sync now"Only if no load of the given type has occurred today. After today's success the button grays out and Margly writes "Already synchronized today. Next sync will happen automatically." Reset on the next day.
Shoptet — API (manually verified key)Integrations → card Data sync, buttons by Orders / Products / CustomersRequires a verified API key and confirmed field mappings. Then: "Run" (before first load) or "Retry" (after error / partial load). After success it switches to "Done" and is locked — another manual launch only after another error.
Shoptet — add-on from App StoreThe same Data sync cardSame behavior as manual API key — needs confirmed mappings, then Run / Retry / Done.
ShopifyIntegrations → card Data syncAfter OAuth connection. Same behavior: Run first → In progress…Done (locked). Retry only on error.
UpgatesIntegrations → card Data syncAfter saving the API key. Same behavior as Shopify.
SklikIntegrations → Sklik card, button "Update data"After connection repeatedly available (rate limit 3 launches / 5 minutes).
HeurekaIntegrations → Heureka card, button "Synchronize"After satellite connection repeatedly available (rate limit 10 launches / 10 minutes).
Search ConsoleAdvertising → Search Console tab (not Integrations!) — button "Synchronize now"Only once — appears if Margly still has no data from SC. After the first load the button disappears.
Google Ads / Meta Ads / Google AnalyticsNo button at all. Margly pulls these platforms exclusively in automatic slots.

What it means in practice#

  • For Shoptet, Shopify, and Upgates you don't manually get "fresh data anytime". The button primarily serves for retry after an error and for first launch. When the last automatic load went through fine, Margly won't let another manual through — it waits for the next slot.
  • Shoptet in CSV mode has a hard limit of one manual sync per data type per calendar day.
  • Sklik and Heureka you can launch repeatedly (only within the rate limit).
  • Google Ads, Meta Ads, and Google Analytics can't be manually pulled — you always wait for the slot.

When manual load makes sense#

Given the limits above, these are mainly the situations:

  • First load after connection, if you want to speed up the start (typically Shopify / Upgates / Shoptet API right after setup).
  • After resolving a connection error — you renewed an expired token or feed URL, you want to verify it right away (Run / Retry).
  • Bootstrap Search Console — one-time data pull right after GSC connection so you don't wait for the next slot.
  • Sklik / Heureka — when you need fresh numbers from today between slots.

What to do when data doesn't load#

Margly translates the error into Czech — you don't see technical HTTP codes. Typical messages and what to do:

  1. "Invalid API key" or "Token expired" — renew the token at the platform (Shoptet admin / Shopify partners / Google Ads / Meta Business) and save the new one in the connection in Margly.
  2. "E-shop unavailable" / "URL doesn't work" — check the e-shop URL in the integration. Typically a typo or domain change.
  3. "Platform request limit exceeded" — the platform temporarily limited you. Margly resolves it in the next slot by itself, no need to do anything.
  4. "Platform doesn't respond" / "Platform has an outage" — outage on the Google / Meta / Shoptet / Sklik side. Wait, Margly will try again in the next slot.
  5. "Update was interrupted (timeout)" — typically a large e-shop, weak counterparty API. If it repeats, write to support@margly.io.

Detailed guide to troubleshooting by platform: Troubleshooting.

What's next#

Was this helpful?

Related articles