AdPilot · how it works

Africa’s Google Ads autopilot — built in Nairobi 🇰🇪.

Connect your account, answer 8 questions, click Launch.
We serve SMBs in every African country. The bot runs every day. You stay in control.

What is AdPilot

AdPilot is a Google Ads autopilot for small and medium businesses across every African country. We’re headquartered in Nairobi, Kenya 🇰🇪, and we serve SMBs from Lagos to Cape Town, Cairo to Casablanca, Accra to Dar es Salaam. You connect your Google Ads account once, answer 8 questions about your business, and the system does the rest:

You stay in control. Every action is logged. You pick how aggressive the autopilot should be — Autopilot, Review, or Manual.

Your first 15 minutes

1
Sign up at eqati.com/sign-up You get a 15-day free trial. No card required upfront.
2
Connect Google Ads Settings → "Connect Google Ads". Sign in with the Google account that owns your Ads. We pull every accessible customer at once and pick the most-active one as your primary.
3
Run the 8-question onboarding What does your business do? Where do you serve? Daily budget? Currency? Phone number? Working hours? Negative-keyword terms? Goal (calls / leads / visits / sales)? Takes ~3 minutes.
4
Review & launch the AI-generated campaign The system writes the entire blueprint — geo targets, schedule, ad groups, keywords, RSA copy (English + Arabic when relevant), negatives, extensions. Click Launch. Always launched paused first so you do a final visual check.
5
Install conversion tracking /app/conversions auto-pulls your Google Ads conversion IDs. Copy the head snippet + download gtag-tracking.js, paste into your website. Click "Verify installation" — we open a real headless browser and confirm the conversion ping fires. No more silent broken tags.

Dashboard /app

Your "is everything ok?" surface.

Health score (0–100)Composite of ROAS, conversion trend, CTR vs vertical median, lost-IS, forecast, and optimizer activity.
Forecast banner"On pace for 45 conversions next 7d (+40%)" or behind / ahead.
Seasonal surge alert"Demand surge in 11d (+60%) — pre-warm budget." Per-vertical calendar.
Revenue / ROAS / Conversions / Spend30-day KPIs with deltas vs prior 30d.
Cohort chipYour CTR vs anonymized peers in your industry & country.
Top campaigns + sparklines7-day click trend per campaign at a glance.
Recent leadsForm, WhatsApp, and qualified phone-call leads from the last 14 days.
Top objectionsWhat customers actually objected to on calls — pulled from AI-scored transcripts.

Campaigns /app/campaigns

The full list of every campaign in your connected account, with 7-day spend, clicks, CTR, CPC, conversions, and Lost-IS bars:

Click a campaign to see 30-day KPIs, top keywords with Quality Score column, a spend-per-day chart, optimizer activity filtered to that campaign, and live Pause / Resume / Edit buttons (mutate Google Ads + audit-log).

The Edit button caps daily-budget changes at 5× your onboarding budget — safety guardrail against accidental zero-typos.

Search terms /app/search-terms

Real customer queries that triggered your ads in the last 30 days. Use it to:

Ad drafts /app/drafts

When the daily optimizer detects CTR has dropped below 4%, it generates a fresh Responsive Search Ad here. Each draft shows headlines + descriptions with character counts, the language, and the bot's reason. Approve & launch pushes the ad live in Google Ads (always paused on creation so you do a final visual review). Reject deletes the draft.

A/B variants: when the optimizer fires, it generates two copies with different angles (price-led vs trust-led) so Google's ad rotation can A/B test them in the same ad group.

Recommendations /app/recommendations

This is Google's own AI surfacing suggestions inside your account — "add these keywords", "fix conversion tracking", "raise budget", "switch to Smart Bidding". Pulled daily at 05:00 UTC.

RiskExamplesWhat happens
low Negatives, missing extensions, match-type tightening Auto-applies on Autopilot mode
medium New keywords, ad copy, bidding strategy switch Always asks for human approval
high Budget changes ≥ 20%, big-impact moves Always human-approved, even on Autopilot

For each rec you can Apply (runs Google's recommended change live in your account) or Dismiss (Google won't surface it again). The page also shows what the bot has auto-applied for you in the last 30 days, so you always know what changed without your input.

Competitor intelligence /app/competitor-intel

The autopilot finds your competitors automatically — you don't have to type anything.

  1. Click Discover competitors once.
  2. AI reads your business description + service area, picks 3–5 likely real competitors.
  3. We crawl each landing page and extract structured intel: USPs, pricing, trust signals, schema markup, tracking pixels, niche angles, lead magnets.
  4. A separate AI synthesizes everything into a weekly playbook — at-a-glance comparison table, top plays to steal (with WHY + HOW), gaps to exploit, recommended keywords + copy hooks + lead magnets.

Refreshes every Monday. You can refresh on demand. If you'd rather seed the list yourself: open Manage tracked list below the playbook and add your own domains.

Bonus: the optimizer's ad-copy generator reads the playbook before generating new ads, so every fresh RSA actively counter-positions against your strongest competitors (e.g. "Free Friday delivery" when a competitor doesn't offer it).

Conversions /app/conversions

Without conversion tracking, no AI (ours or Google's) can optimize your campaigns. This is the single most impactful 5-minute task you can do today.

1
Conversion IDs auto-pull from Google Ads AW-XXXXXXXXXX + per-event labels (phone / whatsapp / form) prefilled with your real values.
2
Add the gtag head snippet Copy or download adpilot-head.html and paste between <head></head> on every page.
3
Save gtag-tracking.js on your server Download the file. Save to /js/gtag-tracking.js and load via:
<script src="/js/gtag-tracking.js" defer></script>
4
Verify installation Click the button — we launch a real headless Chromium browser, navigate your site, click each tracked element (phone, WhatsApp, form), and confirm the ping fires. Each conversion gets a verdict: OK, Wrong target, No ping, or Missing element.

Activity log /app/activity

Every action AdPilot takes is recorded with WHO, WHAT, WHEN, and WHY. Includes daily optimizer runs, auto-applied Google recommendations, manual approve/reject of ad drafts, account reconciliations, billing webhooks, automation-mode changes, and conversion-verifier runs.

Retention: 365 days. After that, rows are pruned by the retention cron at 04:30 UTC.

Settings /app/settings

ModeWhat it does
AutopilotApply low-risk Google recs automatically. Medium and high still wait for your approval.
Review defaultPull recs daily, never auto-apply. One-click each from /app/recommendations.
ManualPull but never act. You drive everything by hand.

Billing & trial /app/billing

Offline conversions API (recommended)

Smart Bidding optimizes 5–15× better when it learns from real deal revenue instead of form fills. Two endpoints to push real revenue back:

Enhanced Conversions for Leads

POST https://eqati.com/api/conversions/enhance
{
  "api_key": "<your clerk user id>",
  "conversion_action": "Form Submit",
  "email": "...", "phone": "...", "gclid": "...",
  "value": 1500, "currency": "AED",
  "conversion_date_time": "2026-04-30T18:32:00+04:00"
}

Use from your CRM webhook, Make/Zapier, or any backend. We hash email/phone before storing — plaintext PII never touches our DB.

Offline Conversions

POST https://eqati.com/api/conversions/offline
{
  "api_key": "<your clerk user id>",
  "conversion_action": "Closed Deal",
  "gclid": "Cj0KCQjw...",
  "value": 8000, "currency": "AED"
}

Push the closed-deal value (and original gclid you captured at click) from your CRM. Smart Bidding then optimizes for closed revenue, not form fills.

What runs automatically

WhenWhat
Daily 02:00 UTCOptimizer — pause loser keywords, boost winners, add negatives, raise budgets, queue ad-copy drafts
Daily 03:30 UTCInsights — day×hour heatmap, geo heatmap, network negatives, cohort metrics, playbook snapshots
Daily 04:30 UTCRetention — prune audit log > 365d, webhook events > 30d, AI spend > 730d
Daily 05:00 UTCGoogle Recommendations — pull Google's own AI recs, classify, auto-apply low-risk for autopilot users
Weekly Mon 02:00 UTCCompetitor intel — re-crawl every tracked competitor, refresh the playbook
Weekly Mon 03:00 UTCWeekly digest — email summary of last week's perf + top wins + top objections

What never runs without your approval

Troubleshooting

"No live data" / dashboard shows zeros. Your Google Ads account isn't returning data. Open Settings → Connected Accounts → click Sync. If still failing, the most likely cause is a dev-token or account-suspension issue.
"PayPal isn't ready yet." Slow network. Refresh the page.
Tag verification failed. Your conversion gtag isn't firing. Check that the head snippet AND gtag-tracking.js are both installed. Run the verifier on your homepage URL specifically.
"Trial expired — pick a plan." Your 15 days are up. Pick a plan on /app/billing. Until you do, /app/* redirects there. Your data is preserved.

Support

Emailsupport@eqati.com
Billingbilling@eqati.com
Bug reportsInclude the run-id from the bottom of any failed page (e.g. guards_molxewhf) so we can pull the trace.
Statuseqati.com/api/health — JSON of database / Google OAuth / OpenAI status.

Principles

  1. Real data only. If we can't read your account, we say "no live data" — never seeded numbers.
  2. Every action audited. Every change the bot makes is logged with who, what, when, why.
  3. You can always override. Autopilot doesn't lock you out — every rule has a human-approval path one click away.
  4. Cheap by design. Daily AI spend cap defaults to $5; verify exactly what AI cost you in /app/settings.
  5. Privacy first. Competitor data is hashed-cohort, conversions are server-side hashed before send, refresh tokens are redacted from data exports.