Feature docs

Catalog sync app on Vareons: install, Meta and TikTok connect, and feeds

The catalog sync app is the id catalog-sync marketplace card opening /dashboard/catalog-sync: it links store products to Meta and TikTok catalogs for dynamic ads through OAuth and access tokens, with a readiness strip, live progress, and feed URLs.

Last verified: 2026-09-19

The app installs from the /dashboard/apps marketplace with an Install button on the "Catalog Sync" card marked Featured and described as syncing products with Meta and TikTok catalogs, after which an Open button leads to /dashboard/catalog-sync. The card carries a Free badge.

The page titled "Catalog Sync" with a products-ready-for-ads description shows a readiness strip with the blocked count, two columns — a Meta connection panel and a TikTok connection panel — then a sync-status table when errors or blocks exist, and an advanced feed-URL section. Panel states include Meta connect, sync all, retry, disconnect and reconnect, expired with reconnect, synced with "X ago", and a TikTok form for the access token plus business-center, catalog, and pixel ids.

The Meta flow starts with the connect button to the OAuth URL, then the callback at /meta/callback with a code and ten-minute HMAC state, then business-and-catalog selection, then an automatic full resync with status and progress polled every five seconds until zero pending. The TikTok flow pastes the access token with BC, catalog, and pixel ids, validates, then runs a full sync. The feed path needs no approvals: copy the /api/catalog-feed/[slug].xml or .csv URL with token and paste it into Commerce Manager.

Buttons include token regeneration (new feed URL or failure) and per-item or retry-all-failed through retry-failed. State is managed by a zustand store fetching status, feed, and readiness on mount. Connections are stored in CatalogConnection (AES-256-GCM encrypted token, business, catalog, and pixel ids, status, settings), items in ProductCatalogSync (status, content hash, retry counters), logs in CatalogSyncLog with thirty-day expiry, and the feed token in User.catalogFeedToken. The sync engine in sync-engine.js uses fire-and-forget queues, batches of one hundred, and exponential backoff up to six retries.

Setup steps in Vareons

  1. Install the app from the marketplace

    Open /dashboard/apps, press Install on the catalog sync card, then press Open to reach /dashboard/catalog-sync.

  2. Connect Meta

    Press Meta connect, complete OAuth, then select the business and catalog so the full resync starts automatically.

  3. Connect TikTok

    Paste the access token with BC, catalog, and pixel ids, validate, then launch the full sync.

  4. Review readiness and progress

    Watch the readiness strip for blocked items and the status table for errors, with automatic polling every five seconds until done.

  5. Use the feed when needed

    From the advanced section copy the tokenized XML or CSV URL into Commerce Manager, and regenerate the token if leaked.

Frequently asked questions

Is the catalog sync app free?

Yes, the card carries a Free badge, and connect, sync, and feeds work with no purchase.

What is the difference between sync and feed?

Sync is automatic API push after connecting; feed is an XML/CSV URL you paste manually into Commerce Manager without connecting.

What does the readiness strip mean?

A count of products blocked from sync (missing data); fixing them raises readiness before advertising.

What do I do when the connection expires?

An expired state appears with a reconnect button; complete OAuth again, then launch a full resync.

Are products removed from the catalog on delete?

Yes, connection settings cover sync on create, update, and delete, and deletion marks the item deleted.

Troubleshooting

1) Callback fails: the HMAC state lasts ten minutes only; reconnect fresh. 2) Stuck pending items: use retry-all-failed and watch the polling. 3) High blocked count: complete the missing product data, then run a full resync. 4) Feed 404: regenerate the feed token and copy the complete new tokenized URL.

Important limitations

• The callback HMAC state lasts ten minutes only. • Polling every five seconds runs during active sync only. • Sync logs expire after thirty days. • Item ids derive from persistent color and size keys.

Related links

تواصل معنا على واتساب