Changelog

What changed in Marketing OS, release by release: every note is written by the change that shipped it and dated the day it merged.

Subscribe: RSS · Integrating? REST API reference

  1. A clear nudge to connect your AI provider

    • AI providers
    • Billing
    • Onboarding
    • Terminal

    Until your organization has a working AI provider, a strip across the dashboard says so and links to Settings → AI providers — it also tells you when a key has stopped working or when no feature is assigned a model yet, and you can hide it for the session. The last onboarding step, where you connect your accounts, now lists your AI provider beside the ad and social accounts. When the Terminal, the creative studio or the campaign wizard can't start because no provider is connected, you get a card with a link to fix it instead of an error line. Plans and billing no longer mention included AI: AI runs on your own key on every plan, and the free plan's monthly allowance now reads as what it is, video rendering.

  2. AI now runs on your own provider key

    • AI providers
    • Terminal
    • Operator
    • Creative studio

    Every AI feature — the Terminal, the operator, recommendations, the writers, the creative studio, knowledge search and image generation — now runs on the AI provider you connect under Settings → AI providers, and nothing else. There is no longer a shared platform key behind it. If a feature needs a provider you have not connected yet, it tells you so and points you to Settings → AI providers instead of failing halfway through, and scheduled work such as operator runs, morning reports and competitor summaries simply waits until you connect one. Your own fallback connection still takes over when your primary provider is down. Video rendering in the video studio is unchanged, including the free plan's monthly rendering allowance.

  3. The Terminal is your home page, and Cmd-K asks it from anywhere

    • Terminal
    • Navigation

    Signing in now lands you in the Terminal. When a conversation is empty it shows what is waiting on you — the same "Needs you" list the old home page led with — and four suggestions you can click to start from. The dashboard you used to land on is still all there, under Overview, pinned right below Terminal at the top of the sidebar. Press Cmd-K (Ctrl-K on Windows) on any page, or the Ask button at the top of the sidebar or the phone header, type a question and hit Enter: you land in the Terminal with a new chat already asking it. Old links to /terminal still work. On a phone the Terminal now fits the screen, with your conversations in a picker above the chat.

  4. The Terminal can generate creatives, edit video, run agents and set goals

    • Terminal
    • Creative Studio
    • Goals
    • MCP

    Ask the Terminal to generate square and Reels variants of a product photo, caption or resize a video, have the Blog Writer or Sales Copy agent draft something, or set a goal and approve its plan — it now does each one the same way the page would, and the result lands in the same place. Studio images still count against your monthly allowance and video edits against your plan's. These are background jobs, so the Terminal tells you when one is queued and can check on it for you rather than claiming it is done. The same tools are available to AI assistants connected over MCP. The unattended operator does not start any of them on its own.

  5. Terminal approval cards say why, and follow the change through

    • Terminal
    • Approvals

    When the Terminal proposes a change that needs your approval, its card now leads with the change in bold and a short reason underneath that quotes the numbers behind it — spend, ROAS, CPA, the dates it looked at. Approve is one green button and Reject sits beside it. After you approve, the card stays live: it shows the change running, then turns into a done line with what the platform returned, or a failure with the reason, without a reload. The same reason appears on the card in Approvals, so an approval made from either place reads the same.

  6. The Terminal shows its work in tidy lines, and lists what is waiting on you

    • Terminal
    • Approvals

    Every step the Terminal takes is now one short line — "Read 12 campaigns · 0.4s" — that you can click to see exactly what it asked for and what came back. When it looks at several things in a row, they fold into a single "Looked at 3 things" line, and while it works a status line says what it is doing right now. A change that ran straight away gets an Undo button. A new Pending changes panel on the right lists every change in the conversation that is still waiting on you, newest first; open one to read why the assistant wants it and what it changes, like "Daily budget: $50.00 → $85.00" or "Status: ACTIVE → PAUSED", then approve or reject it right there. On a phone, the Pending badge at the top opens the same list.

  7. A Promotions page, and promo codes in campaigns and posts

    • Commerce
    • Campaign Wizard
    • Social Poster

    Promo codes now have their own page under Create › Promotions. Create a code with a partner, a discount, the products it covers and its dates; see whether it is on your Shopify store, copy its share link, and watch the orders and revenue it brings in. Launch campaign opens the Campaign Wizard with the code's offer and discount link filled in, the wizard's offer step can pick any active code, and the Social Poster can insert a code line into a caption. Promotions end and archive — they are never deleted.

  8. Build a campaign around a promo code from the Terminal

    • Terminal
    • MCP
    • Campaign Wizard
    • Social Poster

    Ask the Terminal (or any MCP client) to set up a collaboration campaign with a promo code, and it can now save the promotion, ask your approval before creating the code on your Shopify store, and draft a Campaign Wizard plan whose ads lead with the code. Those ads link to the store's discount link once the code exists there, and they carry the promotion's own UTM campaign so the collaboration shows up as one campaign in Google Analytics. Social posts can carry a promotion too: "Use code … for …% off" is added to the caption unless it already names the code. A promotion's orders and revenue can be read the same way. Creating the code on Shopify still needs our updated Shopify app version to be released.

  9. Draft and send Klaviyo emails from the Terminal

    • Email
    • Terminal
    • MCP

    The Terminal and MCP clients can now draft a Klaviyo email campaign to a list you name and then send it or schedule it. Each email takes two approvals: one to create the draft in Klaviyo, where you can also open and edit it, and one to send it. The send card names the list and how many profiles it holds. To use this, reconnect Klaviyo under Settings › Integrations so it grants campaign sending. Until you do, the Klaviyo card says so, and reading and syncing keep working.

  10. The Terminal asks before every change

    • Terminal
    • Approvals

    Every change the Terminal proposes now waits for your approval card, including small reversible ones like pausing an ad set, which used to run straight away. Each conversation has an "Ask before changes" switch at the top, on by default. Turn it off and that conversation follows your project's autonomy setting again, exactly as before. The switch is remembered per conversation, and a card held this way explains why in Approvals.

  11. Promo codes you can track to revenue

    • Commerce
    • Shopify

    Each project can now hold promo codes as their own records — the code, who it is with, the discount, which products it covers and when it runs — through the API. With a Shopify store connected, creating one also creates the discount code on the store and gives you a shareable link that applies it; ending the promotion switches the code off. Orders that used the code are counted from the store sync, so each code's orders and revenue are known. Stores connected before today need to reconnect once to allow discount codes, and the store-side part needs our updated Shopify app version to be released.

  12. Try any paid plan free for 7 days

    • Billing

    Starter, Pro and Agency now each start with a 7-day free trial. The plan buttons on the pricing page and on Settings › Billing say "Start 7-day free trial" whenever your organization can still have one. You add a card at checkout, but you pay nothing until the trial ends. During the trial, the billing page shows how many days are left, the date you'll be charged and the amount, with a "Manage or cancel" button. A slim strip across the dashboard shows the same countdown and can be hidden for the day. If you cancel before the trial ends, you are not charged and you go back to the free plan with all your data. Each organization gets one trial.

  13. MCP is included from Starter up

    • MCP
    • Billing

    Connecting an AI client to Marketing OS over MCP — Claude, ChatGPT, Cursor, VS Code, Gemini CLI, Windsurf or anything else that speaks the protocol — is now part of every paid plan and no longer part of the free plan. Free keeps every dashboard, the Terminal and manual operator runs, which use the same tools from inside the app. A free organization that connects a client sees the full tool list and a plain sentence on every call saying which plan includes it; the consent screen says the same before a connection is made. Nothing already connected is revoked, and moving up a plan switches it on immediately.

  14. Assets is now your image and video library, with folders

    • Assets
    • Terminal

    The Assets page is now the library of every image and video in a project. Upload from the page or drop files onto it, group them in folders and subfolders, move several at once, search the whole library by name, and open any file large. Deleting a folder never deletes a file — what was inside moves up a level. It is the same library the Campaign Wizard, the Creative Studio and the Social Poster pick from. The drafts that used to live under Assets — blog posts, emails, ad copy and social posts — are now under Publish. In the Terminal you can attach an image or a video to a message: the assistant asks whether to save it to your library and offers your folders, the top level or a new folder. A file you do not save stays out of the library and is listed on the Assets page until you save or delete it.

  15. Goals can be deleted

    • Goals

    Every goal card now has a Delete button. Deleting a goal that is still in planning discards the Director's plan before anything is dispatched, which is the right move when the plan repeats work an earlier goal already finished. Deleting an active or finished goal stops its progress tracking. The tasks and drafts its agents produced stay on the board and in the library, no longer linked to a goal. A confirmation explains which of the two will happen before anything is removed.

  16. A reminder when an account goes quiet, and a note when an allowance runs out

    • Email
    • Billing

    If your organization has not approved its first change and nobody has signed in for a week, Marketing OS now sends one reminder 7 days after signup and one more at 14 days. Each names the next step you have not taken yet: connect an account, draft a campaign plan, or approve a first change. You can turn these off from the unsubscribe link in the email.

    When your organization uses up its monthly AI allowance or MCP tool-call allowance, owners and admins now get an email saying what has stopped and when it resets, with a link to upgrade or see usage. It goes out once a month per allowance.

  17. Edit a Campaign Wizard plan before it goes to Meta

    • Campaign Wizard

    You can now fix a drafted plan in the Campaign Wizard review without generating it again. Rename the campaign. Change each ad's headline, primary text, description and button. Change the age range, gender and countries. Counters show when copy runs past what Meta displays before cutting it off. The plan's interests are now looked up on Meta when the plan is drafted. Each one shows as a chip with Meta's audience size. An interest Meta has no match for is marked "no match" and left out at deploy. Remove an interest with its ×, or search Meta's interests to add one. Deploy uses the interests you see in the review. The bid strategy and Advantage+ audience stay as drafted. You can't approve or deploy a plan while an edit is unsaved.

  18. The Content page now ranks your posts across Facebook, Instagram and YouTube

    • Content
    • Social

    The Content page now shows your organic posts from Facebook, Instagram and YouTube in one list, read from the copy Marketing OS keeps in the background, so it opens without waiting on each platform. Filter by platform, sort by top engagement or most recent, and see only the numbers each platform actually reports. A note explains any account whose posts can't be read, including TikTok, which is waiting on a permission. Facebook posts still open their audience comments in place; comments on other platforms link to Engagement. Refresh asks for a new read, at most once every five minutes.

  19. Instagram and YouTube posts join your stored organic posts

    • Content
    • Social

    The background read of your organic posts now covers Instagram and YouTube accounts you connected in Social Poster, as well as Facebook. It keeps your posts and videos from the last 90 days. Instagram posts come with like and comment counts. YouTube videos come with views, likes and comments. If you connected an Instagram account both through Facebook and directly, it is read once. TikTok posts aren't read yet, because that needs a TikTok permission this app hasn't been granted, and the TikTok account says so. The Content page switches to these stored posts in an upcoming update.

  20. Your organic posts are now kept and refreshed in the background

    • Content
    • Social

    Marketing OS now keeps a copy of your Facebook Page's own posts from the last 90 days, with their reactions, comments and shares, and refreshes it every six hours. It reads the Page you connected for publishing, or the Page on your Meta ads connection if you haven't connected one. Posts you published through Social Poster are linked to their Social Poster entry. You can ask for a fresh read at most once every five minutes. The Content page keeps working as it does today for now; it moves onto these stored posts, alongside Instagram and YouTube, in an upcoming update.

  21. The Campaign Wizard asks what you are promoting

    • Campaign Wizard

    The Campaign Wizard has a new step: "What are you promoting?" Write the offer your ads should lead with, like a price, a discount or a guarantee. Choose the page the ads should send people to. It starts as your storefront URL. If your Shopify store is connected, you can also pick up to three products to feature. The AI starts each ad's text with your offer. It never makes up a price, discount or guarantee you did not give it. Deployed ads link to the page you chose instead of your homepage. The plan review shows the offer and link the plan was drafted from. MCP clients can send the same three fields to meta_draft_campaign_plan.

  22. Recommendations estimate what they are worth

    • Recommendations

    New recommendations can now say what acting on them is worth, like "Est. impact: saves ~$40/day (medium confidence)". The estimate comes only from your account's own numbers. If the AI's dollar figure is more than twice what that campaign, ad set or ad spends in a day now, we drop the number and keep only the direction and confidence. The card tells you when that happens. "Maintain" recommendations make no estimate. A new Priority / Impact toggle on the Recommendations page puts the largest estimated daily value first. Recommendations with no dollar figure go last. Recommendations made before this update have no estimate.

  23. New goals build on what earlier goals already did

    • Goals
    • Content

    When you set a new goal, the Director now sees every earlier goal for the project: what it planned, which posts and assets it produced, and whether it hit its target. It also sees your top Search Console queries with their average position, and flags the ones close to page one. The Director is told not to brief a new post on a topic you already cover. It can suggest refreshing an existing post instead, or give a revisited topic a clear new angle. The goals page shows each step's angle, and marks refresh steps with a "refresh" tag. The blog writer does not act on refresh steps yet. That is coming in a follow-up.

  24. Shopify uninstall and privacy requests are handled automatically

    • Integrations
    • Privacy

    Marketing OS now answers Shopify's uninstall and privacy webhooks. When a store uninstalls the app, its connection is marked revoked straight away. When Shopify asks us to erase a store, we delete its catalog, order totals, product photos and audience data. When it asks us to erase a customer, their id comes out of every synced audience. Customer data requests go to our team, who answer within 30 days. This is live once the updated Shopify app version is released. Until then, the Shopify app still installs only on development stores.

  25. The Campaign Wizard handles housing, financial, employment and political ads

    • Campaign Wizard

    The last step of the Campaign Wizard now asks whether the campaign falls under one of Meta's special ad categories: housing, financial products and services, employment, or social issues, elections and politics. If you pick one, the plan uses the broad targeting Meta requires: ages 18 to 65+ and all genders. A warning on the plan says what was changed and why. The deployed campaign declares the category to Meta, so it is no longer created as an ordinary campaign. You can also set a minimum age, which the plan never goes below, and choose up to ten languages to target. MCP clients can send the same three fields to meta_draft_campaign_plan.

  26. Target a city, a ZIP code or a radius around your address from the Campaign Wizard

    • Campaign Wizard

    The Campaign Wizard's location step now has three choices. Countries works as before. Places lets you search Meta's locations and pick up to 25 cities, regions or ZIP codes. Radius targets people within 1 to 80 km of an address you type in, and Meta finds the address on the map. If Local Falcon is connected, the address starts filled in from your latest scan. The plan's review card shows where the ads will run, and the deployed ad set targets those places. Housing, financial, employment and political campaigns need a radius of at least 15 miles, so a smaller radius is raised to 24 km and the plan warns you. MCP clients can send the same targeting to meta_draft_campaign_plan in a new geo field.

  27. See each Campaign Wizard ad the way Meta will show it

    • Campaign Wizard

    The Campaign Wizard's review now shows Meta's own preview of every drafted ad, so you can see what you're approving and not just read its text. Switch between Mobile feed, Instagram and Desktop feed. The previews use exactly the same ad deploy will create, with your edited copy, the Facebook Page you picked and the button. They refresh after you save an edit. If Meta refuses an ad, for example over its text, Meta's reason appears under that ad and the other ads still preview. Pick a Facebook Page first; demo accounts keep the simple ad cards.

  28. Lifecycle emails, a REST API reference and this changelog

    • Onboarding
    • API
    • Docs

    New accounts get a welcome email, a nudge if no channel is connected yet, a note on their first approval and a warning before the free plan's AI allowance runs out, plus an optional weekly performance digest. The REST API now has a published OpenAPI document and a reference in the docs, generated from the API's own routes and checked in CI. This changelog now gets a new dated entry with every feature that ships.

  29. Klaviyo, Google Business Profile and a video studio

    • Email
    • Local
    • Creative

    Klaviyo campaign and flow revenue shows up in the roll-up, and customer segments sync as Klaviyo lists. Google Business Profile support covers posts, reviews with drafted replies behind approvals, and profile insights. The video studio adds auto-captions, resizing for each placement, and image-to-video slideshows from studio outputs.

  30. Meta ad creation, Google search ads, Lead Ads and automated rules

    • Meta Ads
    • Google Ads
    • Leads
    • Rules

    The agent can create Meta image, video and carousel ads in an existing ad set from an asset or a studio variant, and can build catalog and Advantage+ catalog ads from your Shopify products. Meta bid strategies (cost cap, bid cap, ROAS goal) and a per-business attribution window are available too. Google Ads campaigns built through the registry get responsive search ads and keywords, so they can serve. Search-term mining proposes negative keywords. Meta Lead Ads adds instant forms, a leads inbox and CSV or webhook delivery. Businesses without Shopify can import conversions by CSV or from lead status. Your own if-this-then-that rules run daily under the guardrails, and your business goals now steer the operator and its anomaly detection.

  31. Two-factor auth, org-level connections and approvals v2

    • Security
    • Agencies
    • Billing
    • Approvals

    Two-factor authentication with TOTP and recovery codes, which an organization can require. You can list and revoke sessions, sign out everywhere, and revoke Google, TikTok and Shopify grants at the provider. Connect Meta, Google Ads and TikTok Ads once per organization, then assign an ad account to each business. Each business has a time zone that pacing, forecasts, digests and the operator schedule all read. Billing handles failed payments, shows invoices in the app and supports Stripe Tax. Approvals v2 adds bulk decisions and client sign-off from the portal.

  32. Reliability: honest health checks, restore drills, error pages

    • Reliability

    Failed scheduled jobs and queue jobs now reach a person, and /health reports real status. A restore drill and a disaster-recovery runbook with a stated RPO and RTO are in place. The dashboard and portal have proper error, loading and not-found pages. Two fixes: new knowledge items are embedded again, and the account checkup's creative-fatigue finding no longer overstates CTR by 100x. Behind the scenes there are new indexes and retention for fast-growing tables, and more CI gates on the code that moves money.

  33. Server-side conversions, audience sync and a budget forecast

    • Measurement
    • Audiences
    • Budget
    • Currency

    Shopify orders are sent server-side to the Meta Conversions API, the TikTok Events API and Google offline conversions, with dedupe and consent. Customer lists sync to Meta Custom Audiences, Google Customer Match and TikTok, and the agent can create lookalikes through the registry. Organizations choose a reporting currency, and roll-ups and guardrails convert through a daily FX table. A cross-channel forecast projects month-end spend per channel, and a new tool proposes budget shifts that stay under your caps.

  34. Close the loop on organic social

    • Social
    • Agent

    Published social posts now pull their reach, views and engagement back and score them as outcomes. Counters are limited on Facebook and Instagram, and there are none from TikTok yet. A content calendar supports drag-to-reschedule and suggests a best time to post for each platform. An engagement inbox drafts replies to comments behind the approvals gate. The operator can read insights and propose and schedule posts from studio outputs, under the same gate as ad changes.

  35. Rate limits, cost accounting, webhooks and account deletion

    • Security
    • API
    • Billing
    • Mobile

    The REST API and MCP are rate limited per key, with 429s that MCP clients understand. Content from outside the product, such as a web page or a competitor's ad, is tagged with where it came from, and a run that has read some cannot make a write without a person's approval. Every model call is priced and rolled up per organization, with an alert on runaway spend. Signed outbound webhooks cover every alert kind, and every metrics table exports to CSV. You can delete your own account and export your data. The dashboard also works on a phone, including approvals, alerts and the operator.

  36. Google Ads and YouTube move to production

    • Google Ads
    • Social
    • Website

    Our Google Ads API access is approved, and it has run its first real sync and its first real change. YouTube publishing's OAuth consent screen is in production. The public site now describes everything that shipped since September 18.

  37. TikTok Ads

    • TikTok Ads

    TikTok is the third paid channel: connect through the Marketing API, link advertisers and sync campaigns and metrics into the same ads surfaces as Meta and Google. Changes go through the tool registry under your caps and approvals. TikTok pixel health joins the measurement report, TikTok creative fatigue shows up next to your creatives, and TikTok's own change log feeds the decision log timeline.

  38. Public docs, a blog and a free account checkup

    • Docs
    • Blog
    • Free tools
    • Security

    A public docs site with an MCP tool reference generated from the registry itself, plus llms.txt. A blog and learning hub drafted by our own blog-writer agent and reviewed by a person before it goes out. A free, connect-and-audit Meta account checkup and opt-in industry benchmarks. A trust page, an exportable organization audit log and our SOC 2 readiness checklist.

  39. Shopify, competitor watch and an onboarding research step

    • Commerce
    • Competitors
    • Onboarding

    Connect Shopify to sync products, margins and inventory; your unit economics fill themselves in and product photos appear in the studio. Competitor watch sends a weekly digest of new angles in your competitors' ads. Onboarding adds a research step that drafts a positioning brief and unit economics for you to approve.

  40. The always-on operator

    • Agent
    • Approvals
    • Alerts

    The operator agent runs on a schedule for each business over the tool registry, in Suggest or Autopilot mode, instead of waiting for a prompt. It learns: rejections and measured outcomes become operating notes that shape its next run. Creative test cycles launch several variants over fixed windows, stop the losers against a floor and promote the winner. The decision log shows every agent change per campaign, ad set and ad, with a one-click revert, and the alert center reaches you in-app, by email or in Slack for blocks, approvals, pixel breaks and spend anomalies.

  41. Free tools, real pricing and an affiliate program

    • Pricing
    • Free tools
    • Affiliates

    Marketing OS now has a free tier and a published plan ladder metered on MCP calls, including a self-serve agency tier. Free calculators and a comparison hub are open to anyone without an account, and an affiliate program pays recurring commission on referrals.

  42. Google Ads, the creative studio and measurement health

    • Google Ads
    • Creative
    • Measurement

    Google Ads joined Meta: connect with OAuth, link accounts, sync campaigns and metrics, and make changes through the tool registry under the same guardrails and approvals. The creative studio turns product photos into on-brand ad variants. A new audience-by-creative heatmap and asset-level roll-up show which creative works for whom, and measurement health watches your pixel, Conversions API and UTM tagging.

  43. Agency roll-up, client portal and AI Visibility

    • Agencies
    • AI Visibility
    • Onboarding
    • Skills

    AI Visibility tracks your geo-grid rank across ChatGPT, Gemini, AI Overviews and Grok on a schedule, with trends and share of voice. Agencies get per-business roles on a permission ladder, one roll-up dashboard across every client, scheduled client reports with a read-only client portal, and white-labelled client-facing pages. New businesses can start from one URL: we draft the brand profile and economics from the site. The open-source skills pack teaches any MCP client how to use all of it.

  44. The agent can act, inside limits you set

    • Agent
    • MCP
    • Guardrails

    Every action the agent can take now lives in one tool registry with a risk tier, and anything above the low tier is staged into the approvals inbox instead of running. Money guardrails sit in front of all of it: per-business spend caps, ROAS floors, geo rules and per-agent grants. The remote MCP endpoint serves that same registry over Streamable HTTP with OAuth 2.0, so Claude, ChatGPT or Cursor reach the full tool surface under the same gates. The in-app Terminal runs the same tool loop, with approval cards inline.