Public history of gadspilot features, fixes and improvements. Auto-updated on each deploy.
July 2026
Fixmanual-289
Fixed crash on Insights page for some accounts
Resolved a critical bug that caused the Insights page to crash with a parser error for certain accounts. The issue occurred when displaying large datasets with nested translations. We've updated how data is rendered to prevent this error from happening again.
Newmanual-288
User location and language now visible in admin
The admin users page now displays each user's country and language preference. This information is automatically detected during signup based on their IP address and browser settings, helping you better understand your user base and support localization efforts.
Fixmanual-287
Fixed day count display in monthly reports
Monthly reports now show the correct whole number of days instead of displaying decimal values like "30.999999999988 days". This fix ensures the date range header displays cleanly for any month.
Newmanual-286
Automated daily and monthly email reports
Receive automatic email reports every morning with a snapshot of your gadspilot activity. Each daily report includes new signups, MCP tool usage, website traffic, and how your metrics compare to the previous week's average. Reports are sent to your configured email address and can be customized via environment settings.
June 2026
Newmanual-285
Control Performance Max asset group status
Added a new MCP tool to enable or pause asset groups in Performance Max campaigns. Previously, asset groups were always created in a paused state with no way to activate them, causing campaigns to receive zero impressions without any error message. You can now manage asset group status directly after review.
Newmanual-284
Auto-detect browser language on login page
Login, registration, and password reset pages now automatically display in your browser's preferred language. If you're using French, you'll see the page in French without needing to manually select it first. Your language choice is remembered once you log in.
Newmanual-283
French language support for login and authentication
Authentication pages now display in French when accessed in French locale. Login, two-factor authentication, and password reset screens now fully support French translations, providing a seamless experience for French-speaking users.
Newmanual-282
Multi-language support for notifications
Gadspilot now displays all system notifications in your preferred language. Choose between English and French in your account settings, and all confirmations, alerts, and messages will automatically appear in your selected language.
Newmanual-281
Dashboard now available in English and French
All authenticated dashboard views are now fully translated into English and French. Switch your preferred language anytime from the sidebar—your choice is saved automatically. This includes all pages, buttons, status messages, and data labels across accounts, Google Search Console insights, and performance metrics.
Newmanual-280
New user menu with profile and language settings
The user menu at the bottom of the sidebar has been redesigned with a modern dropdown interface. Click your avatar to access profile editing, switch between English and French, or sign out. The menu closes automatically when you press Escape or click elsewhere.
Newmanual-279
Language selector now uses flag icons
The language selector has moved from a text-based menu at the bottom of the sidebar to inline flag icons (English and French) in the user row, next to the logout button. The new design uses embedded SVG flags for consistent rendering across all devices and includes full keyboard and screen reader support.
Fixmanual-278
Fixed critical 500 error on all pages
We fixed a bug introduced in v1.0 that caused 500 errors across the entire app. The user locale middleware was running too early in the request cycle, before the session was initialized. We've moved it to run at the right time and added defensive checks to prevent similar issues in the future.
Newmanual-277
Dashboard now available in English and French
The authenticated dashboard now supports English and French languages. You can switch between languages using the locale switcher in the sidebar. Your language preference is saved to your account and will be remembered on your next login.
Securitymanual-276
Security patches and SSRF protection
We've patched four medium-severity vulnerabilities in our dependencies, including fixes for cookie domain matching, HTTPS downgrade attacks, and HTTP injection issues. We've also added protection against server-side request forgery (SSRF) attacks when processing user-uploaded images. Your data is safer with us.
Fixmanual-275
Fix asset group creation with Claude.ai
Fixed an issue where asset groups failed to create when Claude.ai sent array data as JSON strings. The system now correctly parses serialized arrays, ensuring asset IDs are properly recognized by Google Ads.
Fixmanual-274
Fix asset group creation with multiple assets
Fixed an issue where creating asset groups with multiple headline, long headline, or description assets would fail with a NOT_ENOUGH_HEADLINE_ASSET error. The service now correctly receives all assets instead of just the first one.
Fixmanual-273
Improved handling of text inputs in asset groups
Fixed an issue where the create asset group tool could fail when receiving text inputs in unexpected formats. The system now automatically recovers and normalizes these inputs, making the tool more resilient to formatting variations.
Fixmanual-272
Fix Google Ads headline validation
Fixed an issue where Google Ads headlines were being sent as a single concatenated string instead of separate items, causing validation errors. The MCP tool now properly enforces that each headline, long headline, and description is submitted as a distinct item with correct length limits, preventing oversized text from being rejected by Google.
Newmanual-271
Asset groups now create with required assets
Fixed a critical issue where asset group creation would fail when Google Ads API v21 validation required minimum assets to be present at creation time. Asset groups now create atomically with their required headline, description, image, logo, and business name assets in a single operation, eliminating failed partial creations.
Newmanual-270
Streamlined brand asset setup for Performance Max
Creating Performance Max campaigns with brand guidelines is now simpler. You can now provide brand assets directly during campaign creation—either by uploading a logo image and business name, or by reusing existing assets. This eliminates the need for manual follow-up API calls and prevents confusing Google Ads errors.
Newmanual-269
Brand Guidelines support for Performance Max campaigns
When creating a Performance Max campaign with Brand Guidelines enabled, you can now link business name and logo assets at the campaign level. This prevents Google Ads API errors that previously blocked campaign creation. The create_pmax_campaign tool now includes a brand_guidelines_enabled parameter that, when activated, provides clear guidance on required assets.
Newmanual-268
Create Performance Max campaigns and asset groups
You can now create Performance Max campaigns and asset groups directly through gadspilot. Campaigns are created with unshared budgets and start in paused status for safety. Asset groups are automatically attached to their parent campaigns. This completes the Performance Max setup workflow, eliminating the need to manually create the campaign structure in Google Ads.
Newmanual-265
Toggle between Google Ads and Search Console in Insights
The Insights preview now lets you switch between Google Search Console and Google Ads data with a single toggle. Each view shows product-specific metrics: Search Console displays audit scores and URL insights, while Google Ads shows performance data, Quality Scores, and budget pacing. Visual indicators help you distinguish between the two products at a glance.
Newmanual-264
New Insights preview section on homepage
We've added a dedicated Insights section to the homepage that shows you exactly what your AI audit report will look like. You'll see a live preview of the dashboard with your SEO score, performance verdict, and detailed results across content, technical, Core Web Vitals, and schema categories—so you know what to expect before connecting your Google Search Console.
Fixmanual-263
Stepper dots now visible in demo scenarios
Fixed visibility of scenario navigation dots in the demo. Previously, inactive dots were too small and lacked sufficient contrast against the background, making them nearly invisible. Now all four scenario dots are clearly visible with improved styling, proper color contrast, and full click functionality to jump between scenarios.
Fixmanual-262
Fixed multi-language registration page routing
Registration and login pages now correctly respect your language preference. If you visit the French version of the site and click 'Sign Up,' you'll stay on the French registration page instead of being redirected to English. This fix applies to all supported languages.
Newmanual-261
New demo experience with Anthropic branding
We've redesigned the interactive demo on your home page to showcase gadspilot's capabilities more clearly. The demo now features Anthropic branding with a distinctive logo and updated visual identity, and includes four diverse scenarios covering Google Ads, Search Console, and AI Insights—all localized to your language.
Newmanual-260
Streamlined signup form
We've simplified the registration process to get you started faster. The signup form now asks for just three essentials: name, email, and password. You'll see real-time password strength feedback with a color-coded meter, and can toggle password visibility. Google OAuth is now the primary option. This streamlined experience reduces friction and gets you to your dashboard quicker.
Newmanual-259
Interactive Claude.ai demo on homepage
We replaced the placeholder video message with an animated interactive demo showing how gadspilot works inside Claude. The demo cycles through three real scenarios—finding wasted search terms, auditing Quality Scores, and alerting on budget limits—with smooth typing animations and live tool results. It's lightweight, requires no external dependencies, and works in English and French with fallbacks for other languages.
Newmanual-258
Top languages dashboard with conversion metrics
New dashboard section shows which language versions of your site perform best. See page views, sessions, signups, and conversion rates by language to guide your SEO and translation efforts. Languages are ranked by traffic, with conversion rates color-coded for quick insights.
Newmanual-257
Top Pages now shows marketing pages only
The Top Pages report now filters out internal client area pages like dashboard, settings, and account management, so you see only your public marketing and SEO pages. This gives you a clearer view of which pages drive real visitor engagement. Your overall traffic metrics remain unchanged—the filter only affects the Top Pages ranking.
Newmanual-256
New signup metrics and tracking
We've expanded your dashboard with signup insights. The KPI section now shows new signups and conversion rate alongside your traffic metrics. The timeline chart displays signup trends in green, so you can correlate traffic spikes with registration activity. A new Recent Signups table at the bottom lists your latest 10 users with their signup dates, making it easy to monitor growth.
We've upgraded analytics with three powerful features. First, GeoLite2 geolocation now shows visitor locations by IP address with automatic monthly updates—no license key needed. Second, you can now see how your key metrics (visitors, page views, sessions, engagement) compare to the previous period, with visual indicators showing improvement or decline. Third, export your analytics data to CSV for deeper analysis in your favorite tools.
Newmanual-253
Self-hosted visitor analytics dashboard
We've added a new analytics dashboard in your admin panel to track visitor activity on your self-hosted instance. The system captures page views, referrer information, device types, and bot detection in real time, with all data stored separately so it won't impact your main database performance or backups.
Fixmanual-252
Fixed OAuth authorization blocking issue
A critical security policy update was preventing the OAuth authorization button from working. Users attempting to connect their MCP clients were unable to complete the authorization flow. This has been resolved, and OAuth connections now work as expected.
Newmanual-251
Show reconnection banner for revoked Google accounts
When your Google account connection expires or is revoked, you'll now see a clear orange banner at the top of your Google Search Console card with a Reconnect button. Previously, the connection would fail silently with no indication in the UI. Once you reconnect, the status automatically returns to normal.
Newmanual-250
Search your Google Search Console and Ads accounts
Find your connected Google Search Console properties and Google Ads accounts faster with a new search field. Type to filter by property name, site URL, account label, customer ID, or other details. The search runs instantly in your browser without any server delay, and only appears when you have 3 or more accounts connected.
Fixmanual-249
Fixed charts not displaying on dashboards
Charts on your GSC insights, Google Ads insights, Meta insights, and admin dashboards are now displaying correctly. We've updated our security policy to allow the charting library to load properly.
Securitymanual-246
Security patches for Laravel, Symfony, and phpseclib
We've updated core dependencies to patch 10 security vulnerabilities, including fixes for email header injection, SSRF attacks, argument injection in mail handling, and denial-of-service issues. All known security advisories have been resolved.
Newmanual-245
Adjust Google Ads bids by device type
You can now set bid modifiers for specific devices (mobile, desktop, tablet, connected TV, or other) on your Google Ads campaigns. Use the new tools to boost or reduce bids for any device type, with adjustments ranging from 10% to 1000% of your base bid.
May 2026
Fixmanual-244
SEO audits now respect your language preference
SEO audit reports now generate in your preferred language (English, French, or Spanish) instead of always in French. We also improved the error message when Google requires two-step verification during account connection, making it clearer what you need to do to reconnect.
Newmanual-243
Support inbox management and improved contact page
We've added a complete support inbox admin system that syncs your IMAP mailbox with our database, letting you manage support emails directly in gadspilot. The contact page is now streamlined with a cleaner design. Your support inbox automatically detects folders, deduplicates messages, and keeps everything in sync with your email server.
Securitymanual-242
Removed insecure legacy token authentication
We've removed the legacy token-in-URL authentication method that exposed your API credentials in logs and browser history. All MCP connections now use secure OAuth and Personal Access Tokens via the Authorization header instead. If you were using the old method, please switch to Personal Access Tokens in your account settings.
Newmanual-241
What's new page and unread changelog badge
We've added a new What's new page that shows you recent product updates in a clear, organized way grouped by date. A red badge now appears in your sidebar when there are unread updates since your last visit, so you never miss important changes.
Newmanual-240
Modern toast notifications for instant feedback
Notifications now appear as sleek toasts in the top-right corner and automatically dismiss after a few seconds. You can still close them manually if needed. Status messages appear in green, errors in red, with smooth animations for a polished feel.
Fixmanual-239
Modern tabs, unified copy buttons, better token visibility
We've redesigned the dashboard tabs with a cleaner segmented control style and modernized client selection pills. Copy buttons are now consistent across all token, URL, and code snippet fields with clear visual feedback. When you generate a new token, the page stays on the Headless tab and displays a prominent green banner reminding you to copy it—the token is also pre-filled in code snippets for faster setup.
Newmanual-238
Connected accounts tab in connection hub
The connection hub now displays a dedicated Connected tab showing all your linked accounts and properties with a count. This makes it easier to see at a glance what's already connected alongside options to add new apps or agents.
Newmanual-237
Improved connection setup and fixed accounts page crash
We've reorganized the connection setup flow into two clear tabs: one for connecting apps via OAuth, and another for headless integrations like scripts and agents. We also fixed a crash on the accounts page that occurred when personal access tokens were present. The page now correctly handles all token types.
Newmanual-236
Tabbed OAuth and headless connection setup
We've reorganized the connection setup experience with tabbed cards for OAuth apps (Claude.ai, ChatGPT, Claude Desktop, Cursor, Claude Code) and headless agents (n8n, Make, Hermes, OpenClaw, curl). Each tab now includes copyable code snippets and a full setup guide. We've also added helpful tooltips throughout the app to explain each setting, and made it easier to connect additional accounts with a new button at the top of your accounts page.
Newmanual-235
Personal Access Tokens for headless agents
You can now create Personal Access Tokens to connect headless tools like Hermes, n8n, and cron scripts that can't complete interactive OAuth flows. Each token grants access to a specific data source (Google Ads, Search Console, or Meta Ads) and never expires unless you revoke it. Tokens are displayed once when created, then securely hashed. A new quick-connect interface on your accounts pages makes it easy to generate and manage tokens.
Newmanual-234
Two-factor authentication now available
Protect your account with optional two-factor authentication. Enable TOTP via authenticator app or receive one-time codes by email during login. Manage your 2FA settings in your profile, and use recovery email codes if needed. Admins can view and reset 2FA status for users.
Newmanual-233
Sort campaigns by CPA
You can now sort campaigns by cost per acquisition (CPA) in addition to spend, ROAS, and name. Choose between lowest CPA (best efficiency) or highest CPA (worst efficiency). Campaigns with no conversions are automatically placed at the bottom to avoid confusion.
Fixmanual-232
Prevent incompatible campaign operations
Fixed a bug where Claude could attempt operations on incompatible campaign types (like adding keywords to video campaigns), which would fail silently or with cryptic errors. The system now validates campaign compatibility before sending requests to Google Ads and warns Claude about these restrictions in real time.
Fixmanual-231
Fixed tooltip display in data tables
Tooltips in data tables were appearing as empty black bars due to CSS overflow clipping. We've fixed this by rendering tooltips at the page level with smart positioning that automatically places them above or below content as needed, ensuring they're always visible and properly positioned.
Fixmanual-230
Improved tooltips with styled popovers
Tooltips throughout the app now display in a sleek dark popover with an arrow, replacing the browser's default tooltip. The new design matches our modern interface and provides better readability with smooth fade-in animations.
Fixmanual-229
Improved campaign metrics with helpful tooltips
We've streamlined the campaign performance table to show the metrics that matter most: Spend, CPA, CPAC (Cost Per All Conversions), ROAS, and Score. Each column header now includes a tooltip that explains what the metric means and how to interpret it, making it easier to understand your campaign performance at a glance.
Newmanual-228
Sort campaigns by budget, conversions, and CPA
The campaigns table is now sortable by budget, conversions, all conversions, cost per acquisition, and cost per all conversions. You can click any column header to reorder your campaigns and find optimization opportunities faster.
Newmanual-227
New landing page for Claude + Google Ads integration
We've launched a dedicated landing page highlighting gadspilot's Claude MCP integration for Google Ads. It showcases our unique advantages: 46 writing tools (compared to Google's read-only MCP), complete Performance Max campaign management with 16 exclusive tools, and dry-run safety features for risk-free testing.
Fixmanual-226
Fixed skill card collapsing when viewing data
Fixed a bug where clicking 'See data' or 'Apply' buttons would unexpectedly close the skill card panel. Users can now view and apply data without the panel collapsing and requiring them to reopen it.
Newmanual-225
See action details before applying recommendations
Recommendations now show exactly what will change before you apply them. Click 'See data' on any recommendation to preview the full list of keywords, match types, bids, and other details inline. You'll also see the audit period that generated each recommendation, so you know exactly when the analysis ran.
gadspilot uses only essential cookies (session, CSRF, your preferences). No analytics, no advertising tracking, no third-party scripts. Local storage stores AI Insights consent + this banner choice. See our privacy policy.