The Ads section now has a unified performance dashboard and a single campaign-creation flow that spans Yelp, Reddit, and ChatGPT. The dashboard leads with an AI-visibility-lift metric — your appearance rate on AI assistants before and after a campaign launched — alongside aggregate spend and a per-platform breakdown. The campaign wizard walks through objective, budget, targeting, and creative once, then adapts the inputs per platform. Both are previews built on sample data; live API wiring comes later.
Demo mode for Ads is now a per-account feature flag set in the admin console, replacing an environment variable that applied globally. Real Yelp credentials always take precedence over the flag when present.
External MCP agents can now manage the full agent-site page lifecycle without leaving their MCP client. The new tools cover editing a page's title, slug, and meta; publishing and unpublishing; deleting (owner or admin only); and toggling the whole site's public visibility. A page generated by generate_site_page can now go live in one uninterrupted agent session.
A few things now work correctly that didn't before. Publishing an agent-site page while its AI content is still generating is rejected server-side — previously it could go live as an empty placeholder shell and trigger an IndexNow ping for a blank page. Editing a typed agent page (Profile, FAQ, or Services) from the page editor no longer throws a slug error when you save title or content changes. Users returning to the agents page no longer get bounced to the homepage for a moment while their session is still loading. Ads campaign creation and performance screens are now properly hidden for accounts without real Yelp credentials and without the demo flag active.