Push your own revenue into Soku and track ROAS on it, the agent can read your Dashboard, ChatGPT Ads campaigns are managed through OpenAI's native Ads API, and chats on the new runtime can see images, take screenshots and batch approvals
Server-to-server revenue: ROAS on the revenue you actually booked
- You can now push revenue to Soku from your own backend with an organization API key. Each row is validated, must belong to an ad account in your organization, is stored per account time zone, and can be sent as a dry run first. Pushing the same row again replaces it instead of double-counting. Public documentation with request and response examples is at soku.ai/revenue/docs.
- Pushed revenue appears as its own conversion actions, so you can map it into a Conversion Group and the group's value and ROAS use your real revenue. Revenue stays inside your organization even when another organization has connected the same ad account, it is not added to the conversions headline, and Google ad-group and ad level revenue lands on the real IDs rather than being spread by spend.
- Groups that use pushed revenue also get payback ROAS by activation day — D0, D7 and D30 — and each Dn stays hidden until it has matured.
- Monitors and Autopilot can now watch group value and group ROAS, including the D0/D7/D30 payback figures, so an alert such as "revenue ROAS below 1" reads the same number as the Dashboard card.
Dashboard: one definition per number, and an agent that can read it
- Every Dashboard metric now has a single definition that the Dashboard, reports, monitors and the agent all read, so the agent no longer gives one answer while the page shows another. The numbers on the page are unchanged; the KPI labels now read Conversion Summary, Conversion Value Summary and ROAS.
- In the API, CSV exports and agent queries, conversions and all_conversions now mean Google's own conversions and all conversions (empty for other platforms), instead of Soku's summary sharing the same name. Soku's own summary keeps its own fields, a Google-only all_roas was added, and monitors you had already saved were migrated to the new names so they keep measuring exactly what they measured before.
- In a Dashboard chat, the agent now sees the date range, accounts and comparison period you have selected and can read the Dashboard cards itself, so "why didn't ROAS move?" gets an answer based on what is on your screen.
- When conversions are not grouped yet, Soku now tells the agent which events make up the conversions column, so it names them correctly instead of guessing from campaign names. The Conversion Groups dialog gained a "let Soku set this up" option, and the setup wizard starts by choosing events.
ChatGPT Ads
- Creating and editing ChatGPT Ads campaigns, ad groups and ads now goes through OpenAI's native Ads API with its own three-level structure, micro-unit budgets and asynchronous status. Each level is created and read back on its own, resubmitting the same request resumes the original operation instead of creating duplicates, and imported accounts keep their native currency and time zone.
- Performance metrics and the spend used for your balance continue to come from the same source as before, so reported spend and balances are unchanged by the move.
- The minimum daily budget is now read from one setting everywhere, so a budget the form accepts is no longer rejected when the request is sent.
Chat on the new runtime
- The agent can look at images it reads, and can take screenshots — of HTML reports it has written, to check the layout, and of public web pages. Screenshots of public pages are charged in credits.
- Images and videos the agent creates in its workspace can be given a permanent public link to share or use elsewhere.
- Longer tasks show the agent's plan with a progress bar, and several writes that need your approval can be queued into one card that you approve or reject in a single decision.
- The first reply in a conversation arrives faster: the agent no longer re-reads every skill file at the start of each cold turn, only the ones that changed.
- Long, quiet model responses are kept alive so slow providers no longer get cut off by idle timeouts.
Ad changes, monitors and account syncing
- Every ad change you approve now ends with one clear result — applied as requested, applied with differences, or could not be confirmed — so the agent no longer reports "everything matches" when the read-back disagreed. Very large changes no longer lose their result.
- Ad schedules are checked against the ad account's own time zone when you submit them, so a start date that is already in the past is rejected up front instead of failing after you approve it.
- TikTok ad groups optimizing for value can now have their Minimum ROAS goal updated within your bid guardrails.
- Monitors set to pause after they trigger now deliver the alert from that trigger. Previously the run was marked as unavailable and the alert never arrived.
- Background syncing of ad accounts with long histories no longer crashes and restarts, and a temporary error from an ad platform now retries automatically after a few minutes instead of leaving the account's data stuck until it was repaired by hand.
- The agent's evidence rules now apply to every data source and every language: it does not claim more than a field shows, and "no data found" is not reported as "none exists".
Account, workspace and website
- If you are signed in but have forgotten your current password, the password panel in account settings now links to the email reset flow.
- A page whose first session refresh fails now recovers on its own within seconds instead of appearing signed in while every request is refused.
- Finishing onboarding now lands you in the chat that onboarding just created rather than an older one.
- GPT Image 2 and 2.5 in the Canvas offer five aspect ratios at the same price, old template links redirect instead of returning 404, and uploading into an empty image node shows progress.
- Setup in the left rail opens as a hover menu, the memory entry form drops the unused description field, and the Soku CLI moved to alpha.24 so soku.ai/cli/skill.md explains the per-call credit line and the soku credits command.
- A Product Hunt launch offer (50% off the first three months, or the first year on annual plans) applies automatically at checkout for visitors who arrive from Product Hunt, with its own banner on the website.
- The Soku website no longer loads Plausible analytics.
- New on the website: Zeely alternatives, pricing and review pages; Zeely vs Creatify; guides to Google Ads AI agents, ChatGPT Ads brand safety, GA4 for ChatGPT Ads and ChatGPT Ads in Southeast Asia and Taiwan; CPM and CTR calculators; and refreshed Pippit and Submagic pages.