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
Keyword
SA vol/mo
CPC (USD)
Top bid (ZAR)
Competition
affordability assessment
140
$1.82
R9–R38
Medium
credit vetting
110
$0.26
—
Low
income verification
40
—
—
Low
micro lending software
30
$6.41
R24–R100
Medium
bank statement verification
20
—
—
Low
bank statement extraction
10
—
—
Medium
bank statement analysis
10
—
—
Low
bank statement analysis software
10
—
—
High
bank statement analyser
10
$18.21
—
High
reg 23a
10
—
—
Low
bank statement fraud detection
10
$7.63
—
Medium
credit decisioning software
10
—
—
Unspec.
national credit act affordability assessment
10
—
—
Low
Ad group 1 — Tier 2 · zero-volume coverage (exact match, costs nothing, catches emerging demand)
Keyword
SA vol/mo
Why keep it
bank statement affordability
0
Core positioning phrase, may grow
automated affordability assessment
0
Exact product description
affordability assessment software
0
Buyer phrasing
nca affordability calculation
0
Regulatory intent
reg 23a affordability
0
Regulatory intent
bank statement scoring
0
Legacy category term
affordability assessment api
0
Developer intent
Ad group 2 — Competitor conquest · exact match (ads carry no competitor names)
Keyword
SA vol/mo
CPC (USD)
Competition
Note
finch technologies
170
$0.20
Low
Gathr's parent, distinctive
sprinthive
140
—
Low
Distinctive brand
akiba digital
110
—
Low
Distinctive brand
gathr
50
$1.36
Low
Watch: a US events brand shares the name
softidoc
40
$3.45
Low
Distinctive brand
spike data
10
—
Low
—
spikedata / obse bank statement / evalfin
0
—
—
Keep 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)
Keyword
SA vol/mo
Angle
loan management system
140
Adjacent — high competition, $10 CPC, hold for later
income verification software
10
Decision-pack component
nca compliance
10
Compliance-officer intent
loan underwriting software
10
Underwriting = the assessment step
bank statements as proof of income
10
Blog / 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)
Campaign
Daily cap
Weekly (5 days)
Monthly (~22 weekdays)
Search (South Africa)
R200
R1,000
R4,400
Display conquest
R100
R500
R2,200
Combined ceiling
R300
R1,500
R6,600
Expected cost per click (from verified auction data, capped at R15 max CPC)
Where
Typical CPC
Basis
"affordability assessment" (head term)
R9–R33
Only term with real competition; R15 cap trims the top
Competitor conquest terms
R4–R12
Low competition, cheap navigational inventory
Long-tail direct intent
R2–R8
Near-empty auction
Display (per click)
R1–R3
GDN is priced on impressions, clicks are incidental
Modelled week 1 — likely actual, not the ceiling
Campaign
Reachable searches
Est. clicks
Blended CPC
Est. weekly spend
Search
100–170
25–55
R4–R10
R120–R520
Display conquest
impressions
10–35
R1–R3
R60–R250
Total week 1
—
35–90
—
R180–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.
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.
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
300 × 250 · Medium rectangle
336 × 280 · Large rectangle
160 × 600 · Skyscraper
728 × 90 · Leaderboard
320 × 50 · Mobile
Concept B — Conquest
"Extraction isn't enough" · CTA: Book a Demo
300 × 250 · Medium rectangle
336 × 280 · Large rectangle
160 × 600 · Skyscraper
728 × 90 · Leaderboard
320 × 50 · Mobile
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).
970 × 250 · Billboard · new
300 × 250 · Medium rectangle
336 × 280 · Large rectangle
250 × 250 · Square · new
300 × 600 · Half-page · new
160 × 600 · Skyscraper
728 × 90 · Leaderboard
320 × 100 · Large mobile · new
320 × 50 · Mobile
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.
970 × 250 · Billboard
300 × 250 · Medium rectangle
336 × 280 · Large rectangle
250 × 250 · Square
300 × 600 · Half-page
160 × 600 · Skyscraper
728 × 90 · Leaderboard
320 × 100 · Large mobile
320 × 50 · Mobile
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)
Method
What it does
Reach
Custom URL segment
Google 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 placements
We 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)
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
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.
This review page uses Google Analytics to measure how it is used. Analytics cookies stay off until you accept. Cookie policy.