Feature docs

Catalog Sync with Meta and TikTok on Vareons for stores in Egypt

Catalog Sync on Vareons connects your store products to a Meta catalog and a TikTok catalog so they are ready for ads: eligible products are sent automatically on create, update, and delete, with a readiness strip showing blocked items, live progress, an issues table for retries, and an XML/CSV feed URL for manual uploads.

Last verified: 2026-09-19

Vareons is an e-commerce platform for businesses selling online in Egypt. Catalog Sync is a built-in marketing capability on the Catalog Sync dashboard page (/dashboard/catalog-sync).

What problem does it solve? Merchants running Meta and TikTok ads need a product catalog that stays current: prices, images, availability. Manually updating every product in Ads Manager is fragile and goes stale with the first price edit or stock-out.

How does the flow actually work? The merchant opens /dashboard/catalog-sync and sees a readiness strip (ready / needs-attention / blocked) plus Meta and TikTok cards. Meta connects in one click: Facebook approval, then the system auto-selects the first business and first catalog (or creates one named after the store) and starts a full sync. TikTok connects through a form: access token and Business Center ID (catalog ID and Pixel ID optional), with automatic catalog creation when needed.

Behind the scenes, product create/update/delete hooks enqueue sync items without blocking the response, and the sync engine processes them in batches with a content hash that skips unchanged items, exponential backoff up to 6 attempts, and implicit platform deletes when a product disappears. A 5-minute cron processes pending and retry-due items platform-wide.

State lives in three models: CatalogConnection (connection, encrypted tokens, settings), ProductCatalogSync (per-item status, hash, retry count), and CatalogSyncLog (audit log with 30-day TTL). The public feed URL (/api/catalog-feed/[slug].xml|csv with token) stays available under Advanced for manual uploads in Ads Managers.

Setup steps in Vareons

  1. Open Catalog Sync

    In the merchant dashboard, open /dashboard/catalog-sync (Catalog Sync). Staff need the marketing permission; merchants need the plan to allow the marketing page.

  2. Connect Meta in one click

    Click Connect on the Meta card and approve the Facebook permissions. The system auto-selects the first business and first catalog (or creates one named “Vareons - {store}”), then starts a full sync with a live progress bar that stops automatically when nothing is pending. For the System User Token path, use manual catalog selection.

  3. Connect TikTok with a token

    Open the TikTok card form: paste the access token and Business Center ID (catalog ID and Pixel ID are optional advanced fields), then click Connect. The system verifies the token, auto-creates the catalog when needed, and starts the full sync.

  4. Review the readiness strip and fix blocked items

    The readiness strip shows ready, needs-attention, and blocked counts with product samples. A blocked product (draft/archived, hidden, no image, invalid price, bad URL) is never sent — publish it, add a main image and a valid price, then re-sync. A missing brand is only a warning (the store name is used as fallback).

  5. Follow progress and retry failures

    During sync, per-platform progress bars refresh every 5 seconds. The issues table appears only when errors exist: per-row retry, retry-all, and human-readable error messages. Authorization errors flip the connection to reauth_required and need a reconnect.

  6. Use the feed URL for manual uploads (advanced)

    Inside the Advanced collapsible you will find the XML and CSV URLs with the token. Copy the URL and paste it as a Data Feed in Meta or TikTok Ads Manager for manual uploads. Rotating the token needs confirmation because it invalidates the old URL immediately.

  7. Disconnect when needed

    Disconnect opens a modal with three modes: stop (pauses syncing, keeps records), remove (deletes the connection), or purge (sends platform deletes first, then deletes). The remote catalog is never deleted by Vareons.

Frequently asked questions

Does Vareons support catalog sync?

Yes. The /dashboard/catalog-sync page connects your store to a Meta catalog and a TikTok catalog with automatic sync, a readiness strip, live progress, and an XML/CSV feed URL.

Where is the Catalog Sync page?

In the dashboard: /dashboard/catalog-sync (Catalog Sync under Marketing). Staff need the marketing permission and merchants need a plan that allows the marketing page.

What happens when I edit a product after connecting?

The edit hook enqueues the product for sync automatically without blocking the save. The content hash skips items that did not actually change; changed items go out with the next batch or the 5-minute cron.

What happens when I delete a product from the store?

The delete hook enqueues the product for sync before it is removed from the database, so an implicit delete is sent to the platform (Meta/TikTok) instead of leaving the product stuck in the remote catalog.

How do I exclude products or categories from sync?

From the connection settings: excludedProductIds for specific products and excludedCategoryIds for whole categories. Both lists are exclusions only; the default (empty) means sync everything eligible.

What does the reauth_required status mean?

It means the platform rejected the token (authorization error). Reconnect from the platform card: Meta with a fresh OAuth click, TikTok by pasting a new valid token. A warning chip also appears when the Meta token has 7 days or less left.

Can I connect more than one catalog per platform?

Currently one active catalog per platform per store (the model carries an isActive field for future expansion). To manage multiple catalogs, use Meta/TikTok’s own tools to split Product Sets out of the single synced catalog.

Troubleshooting

If products do not appear in the remote catalog: 1) Open the readiness strip and confirm the product is not blocked (UNPUBLISHED, HIDDEN, MISSING_IMAGE, INVALID_PRICE, or INVALID_URL). 2) Confirm the connection status is connected, not reauth_required or error — reconnect when needed. 3) From the issues table, retry the row or retry-all, and watch the progress bar. 4) Check the product is not in excludedProductIds and its category is not in excludedCategoryIds. 5) For the manual feed URL: make sure you use the current URL after any token rotation (the old one is invalidated immediately).

Important limitations

• One active catalog per platform per store (an isActive field exists for future expansion). • Store-currency pricing for all items — no per-country price split per catalog. • No Product Sets builder inside Vareons — split them in Meta/TikTok tools. • No bulk brand fixer — a missing brand is covered by the store-name fallback only. • The “pixel receiving events” state is heuristic (connected/last-sync), not live event-log verification. • Image checks cover existence plus https only — no minimum-dimension enforcement.

Related links

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