Product updates.

Changelog

Every meaningful update to Admaxxer since launch. Updated weekly.

Last updated: April 24, 2026

· v1.6.0 · Feature

Seven-day free trial on every plan + 46 seeded GEO content pages

Extended the app-managed 7-day free trial from Starter-only to every plan, and shipped 46 canonical content pages across comparisons, features, guides, FAQs, and research blog posts.

  • Trial mechanic extended from AD_STARTER-only to any plan the user picks at signup — no credit card, no Stripe trial_period_days.
  • New shared/offer-copy.ts constants module is the single source of truth for TRIAL_LENGTH_DAYS, REFUND_WINDOW_DAYS, and BRAND_ONE_LINER.
  • 46 idempotent SQL-seeded pages: 8 comparisons, 4 feature pages, 8 attribution guides, 8 install/troubleshooting guides, 6 research blog posts, 12 FAQs.
  • scripts/verify-geo-content.ts validates DB rows, route-matcher resolution, template size, and robots/sitemap/llms wiring end-to-end.

· v1.5.4 · Security

Fail-closed access gate + annual plans live

Shipped the requireActivePlan middleware that denies paused, expired, and past_due workspaces, and turned on 20%-off annual billing across Starter, Pro, and Agency.

  • requireActivePlan middleware denies paused/expired/past_due at the API layer — no more silent access for lapsed subs.
  • Trial banner + expired-trial wall now gate dashboard, chat, and campaign ops.
  • Annual plans priced at $24/$64/$159 per month when billed yearly (20% off), six plan keys live in shared/pricing.ts.
  • Checkout metadata casing normalized to snake_case to match the webhook reader (GL#41).

· v1.5.1 · Improvement

Documentation hub + 20 per-platform install tutorials

Shipped a unified /documentation/install hub driven by a single-source registry that powers both the React pages and the SSR templates.

  • Single registry at server/docs/install-platforms.ts drives client pages, SSR templates, route-matcher, sitemap, robots, and llms.txt.
  • All 20 tutorials render full HTML with TechArticle, HowTo, FAQPage, and BreadcrumbList JSON-LD — verified via ClaudeBot UA curl.
  • LocalStorage keys migrated with read-old-fallback so GA4 conversion tracking does not double-fire during the rebrand.
  • 12 dead URLs removed from sitemap and llms.txt (no matching App.tsx routes or SSR templates).

· v1.4.3 · AI Agent

Claude agent gains sixth tool + streaming SSE hardening

Added query_metrics as a read-only analytics tool alongside the five destructive-gated campaign tools, plus prompt-cache hit improvements on the system block.

  • query_metrics tool exposes the same Tinybird pipes that power the dashboard — the agent can now reason about MER, CAPI match rate, and cohort LTV in one turn.
  • Prompt caching preserved on the system block and tools array so cache hit rate stayed above 90% after the new tool was added.
  • update_campaign, create_campaign, and pause_all_low_roas still require explicit confirmed: true before execution.
  • Streaming SSE reconnect now exponential-backoff with jitter — no more thundering-herd on WAN flaps.

· v1.4.2 · Analytics

CAPI match rate monitor (Hyros-style) + cohort LTV 7/30/90d

Built-in CAPI quality scoring per pixel and per ad account, plus ad-level cohort LTV over 7, 30, and 90 day windows.

  • CAPI match rate is computed from the first-party pixel stream and Meta's conversions API feedback — surfaced in the Attribution drill-down.
  • Cohort LTV exposed at ad level so you can see which creatives pull in buyers with 90-day LTV, not just day-one ROAS.
  • New adsLtv.ts route runs alongside adsCapiMatchRate.ts and shares the workspace-scoped tinybirdPipeLimiter.
  • Dashboard adds a 'CAPI flying blind' alert when match rate drops below 50% for a 24h window.

· v1.4.1 · Analytics

MMM + forecast + incrementality v0.1

Shipped the first cut of channel contribution via OLS with geometric adstock, a 30/60/90-day forecast with weekly seasonality, and paid-vs-organic incrementality via two-proportion z-test.

  • forecast.ts uses OLS with weekly seasonality to project 30/60/90-day blended revenue.
  • mmm.ts runs OLS + geometric adstock so each channel's contribution is stable week-over-week.
  • incrementality.ts applies a two-proportion z-test to paid-vs-organic cohorts to surface lift.
  • All three are fail-closed on missing TINYBIRD_ADMIN_TOKEN — no silent empty dashboards (GL#231).

· v1.4.0 · Analytics

First-party pixel + Tinybird analytics foundation

Launched the storefront-agnostic first-party pixel plus 33+ Tinybird pipes for visitors, revenue, cohorts, MER, LTV, MMM, forecast, and incrementality.

  • Pixel fires on Shopify, WooCommerce, headless commerce, and fully custom storefronts — one snippet in the site head.
  • Tinybird pipes under tinybird/pipes/ power the Summary dashboard, Marketing Acquisition, and Attribution drill-down.
  • Pixel writes public cookies admaxxer_visitor_id (365d) and admaxxer_session_id (30min rolling) that merchants can pass through to any payment provider.
  • 33+ pipes cover visitors, revenue, cohorts, blended MER, LTV, MMM, forecast, and incrementality.

· v1.3.2 · Integration

BullMQ workers + Upstash Redis for insight syncs

Moved ad platform insight syncs onto BullMQ with Upstash Redis so sync fan-out is rate-limit-aware, retryable, and observable.

  • One shared ioredis connection across queues and workers — no per-queue connection fan-out (GL#67).
  • Incremental, catchup, backfill, and manual-resync job types with BullMQ priority tiers.
  • 90-day Meta and Google backfills are chunked 3x30d at priority 10 so live syncs never starve.
  • Token-expiry cron widened to a 7-day window so tokens are refreshed before they silently lapse.

· v1.3.1 · Integration

Google Ads GAQL + refresh token flow

Google Ads service now executes GAQL queries against the v17 API with manager-account (MCC) support via the login-customer-id header.

  • Paste your Google Ads refresh token and a 10-digit Customer ID — Admaxxer handles the adwords scope exchange.
  • login-customer-id header is configurable per workspace for MCC structures.
  • cost_micros divided by 1e6 at the service layer so downstream code always sees dollars, never micros.
  • GAQL queries validated against the reference before execution — malformed queries fail fast with a helpful error.

· v1.3.0 · Integration

Meta long-lived paste-token onboarding + 60-day expiry cron

Launched the paste-token model for Meta Marketing API — no Meta App Review required, and a proactive 60-day expiry cron warns workspace owners 7 days before a token lapses.

  • Paste a Meta System User long-lived token with ads_management and ads_read scopes — connection ready in under 60 seconds.
  • Tokens encrypted with AES-256-GCM at rest, keys derived from SESSION_SECRET via scrypt.
  • Token-expiry cron inspects expires_at on every sync and emails the workspace owner 7 days before expiry.
  • Expired tokens auto-pause the integration instead of silent-failing — every lifecycle event is written to adSyncLogs.

· v1.2.0 · Security

Magic-link auth + workspace invites

Replaced password auth with magic-link by default; added workspace invites with owner and member roles plus audit logging on every membership change.

  • Magic links are single-use, 24-hour TTL, and stored in the magicLinks table with hash-at-rest.
  • workspaceInvites table tracks pending invites with scoped workspace IDs and per-invite roles.
  • Owner-only routes enforced by requireScope middleware; audit logs recorded in adSyncLogs.
  • Signed HTTP-only session cookies (SameSite=Lax) with optional TOTP 2FA on paid plans.

· v1.1.0 · Improvement

Stripe billing live + crawler-only SSR

Wired Stripe Checkout and Customer Portal for Starter, Pro, and Agency plans, and turned on crawler-only SSR for every public marketing page.

  • Three flat tiers — Starter $29, Pro $79, Agency $199 — all billed monthly or annually.
  • Webhook handler routes subscription lifecycle events through a snake_case metadata reader (GL#41).
  • SSR_MODE='crawlers-only' renders full semantic HTML for GPTBot, ClaudeBot, PerplexityBot, and DeepSeek, while the SPA shell serves humans with no FOUC.
  • robots.txt, sitemap.xml, and llms.txt enumerated so every public page is discoverable from day one.

Want to be the first to hear about updates?

Start your 7-day free trial. No credit card, no sales call — every plan, every feature, including every update on this page.

Start 7-day free trial See pricing

← Back to home