A single Meta outage no longer fails a whole account sync, conversion reporting stops burning itself on work that was already redone, Shoplazza joins the e-commerce integrations, and broken images on two public pages are fixed
Your ad data keeps syncing through platform blips
- Meta returns two completely different failures under the same error code, and both arrive as an HTTP 500. One of them is Meta's own documented temporary fault, which recovers by itself — but Soku was treating it as a permanent error, so a single Meta blip could fail an entire account's sync with no retry at all. Those faults are now recognised and retried, after the existing window-shrinking has been tried first, so a transient wobble on Meta's side no longer costs you a day of reporting data. The same fault is now also retried on the older per-dimension sync path, where it had been quietly recorded as a partial success.
- Conversion reporting stopped fighting itself. When two syncs covered the same account and day, the older one could never finish — and it would rebuild the same data set up to nine times before giving up, crowding out the newer refresh that was going to supersede it anyway. Being superseded is now treated as a normal, successful outcome: the older refresh stops after one attempt and steps aside. Genuinely corrupt state still fails loudly, as before.
- The combined-breakdown cache could get two large Google accounts stuck in a loop that made no progress at all — each run timed out just before it saved its position, so the next run started from exactly the same place. Batches now stop while there is still time to save their progress, and if a run is cut short anyway, the work that did finish is recorded instead of discarded.
- Background jobs now get their own isolated connections rather than reusing ones cached from an earlier, already-finished job. That reuse could silently drop approval callbacks and review notifications on later jobs in the same worker — so an action you approved could look approved and never notify anyone.
- Sync failures are now labelled correctly as retryable or permanent, so a deterministic platform rejection is no longer reported as something that will fix itself on the next attempt.
Integrations
- Shoplazza is now a documented integration, with a full page covering the connection workflow, use cases, plan-by-plan pricing and how it compares to the alternatives — and it appears in the e-commerce group on the homepage. Pricing on that page is taken from Shoplazza's own pricing page rather than estimated.
Marketing site
- Images on the agencies page and the free competitor analysis page were returning errors instead of rendering. When image binaries moved to the CDN in July, two directory paths kept pointing at the app's own origin, which meant nine logos and avatars silently broke on two public pages. They now load from the CDN, and a build-time check makes it impossible to reintroduce the same class of broken path.
- New guides published on cross-channel marketing attribution, comparing multi-touch attribution models, and UTM naming conventions for paid media, plus a Pika AI tool page and a Descript integration page.