All updates

Campaign-Scoped Alerts, AI Chat Improvements & New Dashboard

A wide-ranging update centered on a redesigned home dashboard with live cross-platform insights, a new message queue for the AI assistant, a refreshed landing page and pricing, and a Next.js 16 + Turbopack upgrade.

Redesigned Dashboard

  • Live Insights Cards: New Spend, Impressions, Revenue, and ROAS cards aggregated directly from your connected ad platforms — no GA4 dependency required
  • AI Prompts on Home: The dashboard now picks up ?prompt= URL params on mount so links can deep-link straight into a chat with a pre-filled question
  • Alerts Section: A new Alerts panel surfaces active campaign alerts right on the dashboard, cached via React Query for faster loads
  • Unified Integrations View: Connected platforms are now shown together in one place on the home view
  • Stable Layout: Insights and Alerts sections stay mounted while workspace data hydrates — no more layout flicker on first paint

AI Chat & Assistant

  • Message Queue: Type a follow-up while the AI is still streaming — your next messages queue up (max 3) with smooth animations above the input and send automatically when the model finishes
  • Inline Report Previews: createCustomReport now renders a data preview inside chat with "Copy Link" and "Go to Report" buttons in the card footer
  • Better Action Cards: Keyword pause and negative keyword actions now use the same ChangeProposalCard as other actions, with proper currency formatting, full platform names, and a list of affected campaigns with platform icons
  • Bulk Pause Fixes: Bulk pause flows always show a ChangeProposalCard and no longer create duplicate cards mid-stream
  • Waste Explanations: When listing wasteful campaigns, the AI now explains why each one is flagged
  • Thinking Indicator: A compact thinking indicator shows up while the model reasons, and tool-call indicator badges are auto-width instead of stretched
  • Mobile Chat History: Toggle conversation history on mobile and a shorter textarea so the chat fits properly on small screens
  • EU Political Flag Fix: Google Ads campaigns now correctly set DOES_NOT_CONTAIN for the EU political content flag
  • Demo Mode: Search Console added to connected platforms in demo mode; TikTok and GA4 also appear as connected

Meta Ads

  • Conversion Actions Column: The Conversion Actions list in the columns dialog now populates correctly
  • Date Picker Polish: "Uygula" button translated to "Apply" and the date picker is properly aligned to its trigger

Landing Page & Pricing

  • AI-Native Workspace Positioning: Refreshed hero and value prop around finding money you're losing in your ad accounts
  • Product Demo Video: The interactive demo in the hero has been replaced with a product video, with use-case tabs mapped to individual demo videos and preloading to avoid flash on switch
  • Mobile Menu: Public header now has a working mobile menu with Sign In / Sign Up / Go to App actions — previously unreachable on small screens
  • Working Forms: Contact and Enterprise forms actually report success/error status now
  • Pricing on Landing: A full pricing section was added to the landing page (Hobby/Starter/Business) with a monthly/yearly billing toggle moved into the section header
  • Hobby Plan: New entry-level Hobby plan at $19/mo ($16/mo on yearly) — Starter and Business updated to $39/$32 with cleaner copy and "Everything in Hobby" callout on Business
  • FAQ + Polish: Updated FAQ content, added feature icons next to pricing rows, and the Business plan limit is clearly set to 3 workspaces

Alerts

  • Campaign-Scoped Alerts: Alerts can now be scoped to specific campaigns, with intervals restricted to daily and longer to keep noise down

Workspace & Account

  • Soft Delete: Workspaces are soft-deleted, and the workspace switcher caps its list height so long lists scroll properly
  • Smart "Go to App": The Go to App button now redirects you to your last visited workspace instead of resetting
  • Password Reset Fix: Password recovery now uses the PKCE flow end-to-end — clicking a reset link reliably lands you on the update-password page with a valid session

Branding & Docs

  • AI Docs: New Adstudio AI documentation pages in English and Turkish

Sharing & SEO

  • Facebook Sharing Fixed: og:image is now served from S3 (Facebook couldn't process the previous source), fb:app_id is set with the correct property attribute, and public pages are excluded from auth middleware so Facebook's crawler stops getting 403s
  • Privacy Alias: /privacy now works as an alias for /privacy-policy

Platform & Infrastructure

  • Next.js 16 + Turbopack: Upgraded to Next.js 16 with Turbopack as the bundler, and bumped the Cloudflare adapters to match
  • React Query Caching: /api/platform-analytics calls are deduped via React Query, and /api/alerts is now cached on the dashboard — fewer redundant requests, snappier UI
  • GTM + GA4: Added Google Tag Manager and GA4 analytics across the app