● DRAFT — NOT LIVE Prepared 7 Jul 2026

Google Ads campaign review

Everything to sign off before we build the campaign in Google Ads: the keyword plan with verified South African volumes, sample search and display ads as they will appear, and the checklist to get live. Two campaigns, all of South Africa, weekday business hours only.

Geography
South AfricaPresence only
Schedule
Mon–Fri08:00–16:00 only
Search budget
R200/dayMax clicks, R15 cap
Display budget
R100/dayConquest placements
Conversion
Book a Demo+ free credits
01 — Keyword plan

What people actually search

Volumes verified against DataForSEO and Google Keyword Planner (South Africa, English, both sources agree). The headline finding: the compliance vocabulary has almost no search volume. This is a category-creation market, so the ads capture a small stream of intent while blog and SEO build the demand. Total reachable direct-intent volume is roughly 200–250 searches a month; conquest is larger at ~520.

Ad group 1 — Direct intent · keywords with measured volume
KeywordSA vol/moCPC (USD)Top bid (ZAR)Competition
affordability assessment140$1.82R9–R38Medium
credit vetting110$0.26Low
income verification40Low
micro lending software30$6.41R24–R100Medium
bank statement verification20Low
bank statement extraction10Medium
bank statement analysis10Low
bank statement analysis software10High
bank statement analyser10$18.21High
reg 23a10Low
bank statement fraud detection10$7.63Medium
credit decisioning software10Unspec.
national credit act affordability assessment10Low
Ad group 1 — Tier 2 · zero-volume coverage (exact match, costs nothing, catches emerging demand)
KeywordSA vol/moWhy keep it
bank statement affordability0Core positioning phrase, may grow
automated affordability assessment0Exact product description
affordability assessment software0Buyer phrasing
nca affordability calculation0Regulatory intent
reg 23a affordability0Regulatory intent
bank statement scoring0Legacy category term
affordability assessment api0Developer intent
Ad group 2 — Competitor conquest · exact match (ads carry no competitor names)
KeywordSA vol/moCPC (USD)CompetitionNote
finch technologies170$0.20LowGathr's parent, distinctive
sprinthive140LowDistinctive brand
akiba digital110LowDistinctive brand
gathr50$1.36LowWatch: a US events brand shares the name
softidoc40$3.45LowDistinctive brand
spike data10Low
spikedata / obse bank statement / evalfin0Keep as free coverage
Where the volume actually is: competitor brand names (~520/mo combined, all low competition and cheap) plus the single head term "affordability assessment" (140/mo). Conquest is a bigger stream than direct intent, so ad group 2 carries more weight than the original plan assumed. Everything in the compliance-phrasing tables is essentially free SEO-style coverage, not a traffic engine.
Additional keywords worth adding (from idea expansion, SA volumes)
KeywordSA vol/moAngle
loan management system140Adjacent — high competition, $10 CPC, hold for later
income verification software10Decision-pack component
nca compliance10Compliance-officer intent
loan underwriting software10Underwriting = the assessment step
bank statements as proof of income10Blog / content angle
02 — Estimated cost

What it will cost

Two things make this cheap: the auction is nearly empty (no competitor runs ads on these terms), and the volume is thin. Both mean the daily budgets are ceilings we will rarely hit, not targets we will spend to. The numbers below are estimates from the verified CPC data, not guarantees. Week 1 is really price discovery.

Budget ceilings (the most you can spend)
CampaignDaily capWeekly (5 days)Monthly (~22 weekdays)
Search (South Africa)R200R1,000R4,400
Display conquestR100R500R2,200
Combined ceilingR300R1,500R6,600
Expected cost per click (from verified auction data, capped at R15 max CPC)
WhereTypical CPCBasis
"affordability assessment" (head term)R9–R33Only term with real competition; R15 cap trims the top
Competitor conquest termsR4–R12Low competition, cheap navigational inventory
Long-tail direct intentR2–R8Near-empty auction
Display (per click)R1–R3GDN is priced on impressions, clicks are incidental
Modelled week 1 — likely actual, not the ceiling
CampaignReachable searchesEst. clicksBlended CPCEst. weekly spend
Search100–17025–55R4–R10R120–R520
Display conquestimpressions10–35R1–R3R60–R250
Total week 135–90R180–R770
Read the spend as a floor, not a shortfall. The Search campaign will very likely spend well under its R1,000 weekly cap, because there simply are not 1,000 rands worth of relevant searches in South Africa during business hours. That is the market being small, not the campaign failing. The number that matters is not spend, it is whether any of those 35–90 clicks books a demo. Cost per demo is unknowable until we have run: with a first demo, we can start pricing acquisition; until then, treat the whole first R1,000–R2,000 as the price of finding out whether search demand exists at all.
03 — Search ads

Sample search ads

How the responsive search ads will look on a Google results page. Google mixes and matches the approved headlines and descriptions, so these show three representative combinations per ad group. Every headline and description below is character-validated and drawn from the approved banks. Use them to react to the different angles: speed, affordability/compliance, and offer.

Ad group 1 — Direct intent
Variant A — Speed hook
Adaffy.co.za/affordability

Skip the 30-Minute Review | Bank Statement Affordability

Manual affordability review takes 30 minutes per file. Affy does it in 30 seconds. Bank statement in, decision pack out: Reg 23A affordability, tamper checks, debit day.
From R10 Per Statement · Free Credits Included · 5-Layer Tamper Checks · Behavioural Credit Score
Variant B — Compliance angle
Adaffy.co.za/reg-23a

Automate Reg 23A Affordability | Decision Pack in 30 Seconds

Extraction, categorisation, NCA affordability and fraud signals from one bank statement. NCA compliant, audit ready. Your analyst makes the call.
Audit-Ready Output · Built in South Africa · Free Credits Included · 5-Layer Tamper Checks
Variant C — Offer / CTA
Adaffy.co.za/demo

Bank Statement Affordability | Book a 15-Minute Demo

From R10 per assessment. Prepaid credits, no contracts. Free credits to start. Built for SA micro-lenders. Stop manual statement review.
No Contracts, Prepaid Credits · Free Credits Included · From R10 Per Statement · POPIA Compliant

Pinned if CTR is weak: "Skip the 30-Minute Review" (H1), "From R10 Per Assessment" (H2), "Book a 15-Minute Demo" (H3).

Ad group 2 — Competitor conquest
Variant A — The wedge
Adaffy.co.za/decision-pack

Extraction Isn't Enough | Get the Full Decision Pack

Already extracting bank statements? Add affordability, tamper checks, and scoring. Most tools stop at extraction. AffyAssess adds Reg 23A affordability and best debit day.
Full Decision Pack · Affordability Included · 5-Layer Tamper Checks · From R10 Per File
Variant B — Capability
Adaffy.co.za/full-pack

More Than Statement Extraction | Reg 23A Built In

Get the full decision pack: affordability, risk drivers, fraud signals and best debit day. One tool, full assessment. Built for SA micro-lenders.
Full Decision Pack · Reg 23A Aligned · Collection Day Signal · Built in South Africa
Variant C — Compare / demo
Adaffy.co.za/compare

Compare the Full Output | Book a 15-Minute Demo

Most tools stop at extraction. AffyAssess adds Reg 23A affordability and tamper checks. Compare outputs side by side on your own statements.
Free Credits Included · 5-Layer Tamper Checks · From R10 Per File · Built for SA Lenders

No competitor names appear in copy (trademark policy). The keywords bid on them; the ad sells the wedge.

Full headline and description banks (15 headlines + 4 descriptions per ad group, all character-checked) are in docs/gads-campaign-build-2026-07-07.md, section 3–4.

Behavioural-score probe: two headlines ("Behavioural Credit Score", "Score Where Bureaus Cannot"), a callout, and six free zero-volume keywords (behavioural / alternative / AI credit scoring) were added to the Direct Intent group. Keyword research found no standalone SA search volume for that cluster, so it is not a separate campaign, just extra assets the RSA can serve. We watch the asset-level impressions to see if the angle earns any traction before doing more.
04 — Display ads

Sample display banners

Three creative concepts for the opposition display campaign and PMax, at native size. These previews show each banner's final settled frame (the image ads that upload to Google). Click Play on any banner to open its animated version in a new tab.

Concept A — Direct intent

"30 minutes by hand, 30 seconds with Affy" · CTA: Book a Demo

Concept B — Conquest

"Extraction isn't enough" · CTA: Book a Demo

Concept C — Message

"Bank statements in, categorisation + affordability + collection day out" · CTA: Book a Demo

The literal option: it spells out what AffyAssess does and settles on the brand. Built in the full size set, including the four sizes the other concepts don't have yet (970×250, 300×600, 320×100, 250×250).

Concept D — Message (refined)

"Bank Statements In | Credit Decision Pack Out", 2 outputs · CTA: Book a Demo

Concept C refined: the two phrases carry equal size and weight, and the outputs are trimmed to two (Affordability + Best debit day) with Transaction categorisation dropped to cut clutter and free space.

For review: four creative directions. A leads with speed (the 30-minute-to-30-second timer, ending on "bank statement extraction and assessment"). B leads with the competitive wedge ("extraction isn't enough"). C states it literally (statements in, the outputs out, then the brand). D refines C: equal-weight headline, two outputs only (Affordability + Best debit day), less clutter. We can run more than one: B on the conquest keywords, and A / C / D on broader prospecting placements. All banners: Book a Demo CTA, no price, clickTag and exact IAB dimensions, settle on a static logo + CTA frame.
Static PNG versions of every banner are in ad-assets/creatives/static/ for immediate use as image ads (a new Google Ads account cannot upload custom animated HTML5 without allowlisting). The animated HTML5 is kept for DV360 or once the account is allowlisted.
05 — Counter-competitor display

Following the competition's visitors

A separate display campaign, running the Concept B banners above, aimed at people who research the competition. When someone visits a competitor's site or reads about this category, an AffyAssess banner follows them across the Google Display Network. Same geography and hours as the search campaign: all of South Africa, weekday business hours, R100/day.

Two ways we reach competitor-site visitors (both run together)
MethodWhat it doesReach
Custom URL segmentGoogle builds an audience of people who browse sites like the competitor and industry URLs, then shows our banner to them anywhere on the Display Network. This is the workhorse.Broad, follows them across the web
Managed placementsWe hand-pick the competitor domains and industry sites themselves, so our banner shows on that inventory directly.Narrow, only where those sites run Google ads
Whose visitors we target (URLs fed to the custom segment)
GroupSites
Direct competitorsgathr.co.za · finch-technologies.com · sprinthive.com · akibadigital.com · softidoc.co.za · obse.co.za · spikedata.co.za · evalfin.co.za
Industry & regulatoryncr.org.za · casa.co.za · dcasa.co.za · acpas.co.za · mycomax.com · fintechfundi.com · altronfintech.com · moonstone.co.za
Credit bureaustransunion.co.za · experian.co.za · xds.co.za · consumerprofilebureau.com
Settings: Optimized targeting OFF (so Google stays on our list), frequency cap 3 per person per day, and exclusions for mobile apps, games, and parked domains (where display budget usually leaks). Landing page is affy.co.za with a display-conquest tracking tag.
What to expect, honestly: display conquest is a brand-presence and retargeting-seed play, not a lead engine. Click-through rates on the Display Network are low (0.1 to 0.4 percent is normal) and most of its influence goes untracked by last click. Its real value here is warming the small, specific pool of people researching this exact category, and building a remarketing list. Judge it on assisted conversions and any lift in demo requests, not on direct clicks. It is deliberately kept cheap at R100/day. Full spec is in docs/gads-campaign-build-2026-07-07.md, section 6b.
06 — Go live

Launch checklist

The steps between this review and a live campaign. Ticks are saved in your browser. Items marked Brink need you in a Google account; the rest I can build or wire up.

Progress: 0 / 0

Account & billing Brink

  • Create Google Ads account under Brink's MCC
    Billing: Momo Global, brink@momoglobal.co.za
  • Send me the customer ID and conversion tag snippet
    So I can wire the site tags and build the campaign for import

Conversion tracking Brink + Claude

  • Create "Demo Request" conversion action
    Website · Submit lead form · Count once · 30-day click window
  • Add the AW- conversion tag to index.html and thank-you.html
    Placeholder comment already in thank-you.html; tag ID comes from the conversion snippet, not the customer ID
  • Deploy the generate_lead GA4 event (already added locally)
    On feat/design-library; needs merge to main
  • Mark generate_lead as a key event in GA4
    And import it into Ads as a secondary conversion for cross-check
  • Test the demo form end to end
    Submit a real test, confirm thank-you.html loads and the conversion fires

Search Console & SEO Claude

  • Verify affy.co.za in Google Search Console
    Domain property via Cloudflare DNS TXT record
  • Submit the XML sitemap
    Confirm homepage + blog posts are indexed

Site alignment Brink to approve

  • Approve homepage copy alignment (45min→30min, R10, decision pack)
    Done locally on feat/design-library
  • Approve 4 aligned blog posts
    Done locally; publishing is human-gated
  • Decide on the two flagged blog items
    Dead /#score nav link across blog; Post 4 component order (score-first)
  • Merge feat/design-library to main and deploy
    Landing pages must be live before ads point at them

Build the campaigns Claude

  • Build Search campaign (GOOG_SEARCH_AffyAssess_ZA_2026-07)
    South Africa, Mon–Fri 08:00–16:00, R200/day, max clicks R15 cap
  • Load both ad groups, keywords, negatives, RSAs, and assets
    From the build doc, sections 3–6
  • Approve display banners after the QA review
    Apply any P1 fixes the review flags first
  • Build Display conquest campaign + custom URL segment
    Optimized targeting OFF, frequency cap 3/day, competitor + industry URLs

Pre-launch QA Claude + Brink

  • Confirm Search partners OFF and Display expansion OFF on Search
    Keeps Search and Display from overlapping
  • Confirm geo is Presence, not Presence-or-interest
    Avoids diaspora clicks
  • Confirm the schedule shows 08:00–16:00, weekdays only
    Both campaigns
  • Set go-live for a Monday morning
    So week 1 runs a clean 5 days inside the window
Realistic week 1: across all of South Africa within the business-hours window, reachable volume is roughly 100–170 searches, so expect 25–55 clicks, not hundreds. Budget will still underspend inside the window; that is expected in a thin-volume category. One demo request in week 1 is a strong signal. Going national (rather than starting in two provinces) also gives more data to read creative performance on, which matters given how thin the market is. If reach still starves learning, widen hours next (07:00–18:00), then days.