Why this business breaks the standard playbook
Most Google Ads advice is written for a plumber with a van and a postcode. You are selling a federal petition to a Brazilian featherweight. Four things change.
The template advice says: target your city, exclude every other country, and put your service and your suburb in the headline. Applied literally to Sherrod Sports Visas, that advice would switch off your entire market on day one. Your clients are not in Los Angeles, Charlotte or Washington. They are in São Paulo, Lagos, Tbilisi, Manila and Belgrade, searching in the middle of their night for a way to fight, play or coach in the United States.
So before a single keyword goes in, hold four facts in mind. Everything in the rest of this book is derived from them.
The buyer is abroad
Geo-targeting inverts. You are not excluding the world — you are ranking the world by which countries export athletes to US leagues, promotions and academies, and bidding accordingly.
The ticket is high and the cycle is long
A petition is not an emergency drain unblock. Someone researches for weeks, compares O-1 against P-1, asks their agent, then converts. Remarketing is not optional here — it is the main event.
Your "cities" are sports
The classic city × service matrix becomes visa type × sport. P-1A × boxing. O-1A × MMA. P-1S × coaching staff. That grid already exists as pages on your site — it is a ready-made campaign map.
Informational traffic is monetisable
A plumber kills every "how to" search. You have a Do It Yourself product, a Knowledge Hub and petitioner templates. Curious searchers are a lower tier of your ladder, not waste. This single difference rewrites your negative keyword list.
What "winning" means here
Clicks are vanity. Form fills are closer, but still not money — a free visa evaluation from someone with no ranking, no national team history and no US itinerary costs you consultation time and returns nothing. The only number that governs decisions in this book is revenue per dollar of ad spend, by matter type.
That matters more than usual because your matters are not fungible. A DIY course sale, a P-1S support-staff petition, an O-1A for a world champion, and a federal litigation matter are separated by orders of magnitude. An account optimised for "leads" will happily buy you a thousand of the cheapest, least qualified enquiries. Chapter fourteen fixes that by feeding real matter values back into Google.
Optimise for leads and Google will find you the cheapest possible person. Optimise for revenue and it will find you the next Beterbiev.
The alignment chain
One idea underneath the entire system: what someone typed must survive, word for word, all the way to your intake form.
A Georgian wrestler types p-1 visa for wrestlers. If your ad says "US Immigration Attorneys — Full Service", he does not recognise himself in it and scrolls on. If the ad says "P-1 Visa For Wrestlers" and the page he lands on says "P-1 Visas For Wrestlers", he has been told three times in eight seconds that he is in exactly the right place.
That is the whole trick. It sounds too simple to be worth a chapter, and it is the difference between a two percent and a twenty percent conversion rate. Google also rewards it directly: relevance between keyword, ad and landing page is a component of Quality Score, which sets what you pay per click.
The generic version is not a bad ad. It is a bad match. Same budget, same click price, entirely different economics.
Test it on yourself
Open an incognito window and search o-1 visa for mma fighters. Look at whether your ad, if it shows, repeats those words. Then click through and read the first line on the page. If any link in that chain changes vocabulary, you have found your first fix.
Keyword research: the visa × sport matrix
You cannot win with the wrong keywords, and no AI knows what people actually search. Get the volumes from Google, get the judgement from this chapter.
Ask any model for a keyword list and you will get a plausible, confident, partly fictional set of phrases — some with no search volume at all. Search volume is empirical. It comes from one place: Google Keyword Planner, which is free inside any Google Ads account.
Pulling the raw list
- Open Tools → Keyword Planner → Discover new keywords. Start deliberately wide. Seed it with
p-1 visa,o-1 visa athlete,sports visa usa,athlete work visa,eb-1a athlete. - Set the location to the countries you actually want, not your own. This is the step everyone gets wrong for your business. Default is your own country. Run the research once per target region — Brazil, Nigeria, the UK, Mexico, Japan, Georgia, Serbia — because the same English phrase has wildly different volume in each.
- Set language to English, and then run it again in Spanish and Portuguese.
visa para atletas en estados unidosis a different auction with different competition. Most US firms never bid on it. - Read four columns. Average monthly searches tells you if it exists. Competition tells you if there is money in it — competition is a good sign, not a bad one. Top-of-page bid low and high tell you what the auction costs. Three-month and yearly change tell you if a sport is heating up.
- Export to CSV. That file is the raw material Claude Code will turn into campaigns.
Sorting winners from losers
Go down the export and classify every row. The test is not "is this related to visas" — it is "would the person typing this pay for a petition?" Here is how the main patterns break for you.
| Pattern | Example | Verdict | Why |
|---|---|---|---|
| visa + sport | p-1 visa for boxers | Money | Names the exact matter. Highest intent phrase family you have. |
| visa + role | o-1 visa for coaches | Money | Maps directly to an existing service page and a distinct fee. |
| service + qualifier | sports immigration lawyer | Money | Category-defining. Expensive, competitive, worth owning. |
| comparison | o-1 vs p-1 visa | Nurture | Real buyer, earlier stage. Send to a comparison page, capture for remarketing, do not expect a same-day close. |
| process / how-to | how to get a p-1 visa | Nurture | Normally waste. For you it feeds the DIY product and Knowledge Hub. Bid low, separate campaign, different offer. |
| fee / cost | p-1 visa cost | Nurture | Price shoppers, but genuinely in-market. Your Pricing page is the honest answer and it converts the serious ones. |
| employment | immigration paralegal jobs | Waste | Job seekers. Never a client. |
| government / status | uscis case status, visa bulletin | Waste | People looking for a government website, not a service. |
| wrong visa class | h1b lottery, dv lottery, f-1 student visa | Waste | Outside your practice. Enormous volume, enormous drain. |
| competitor names | [rival firm] reviews | Usually waste | They already know who they want. You pay for a click and get a "sorry, wrong firm" call. |
| academic | o-1 visa research paper | Waste | Students and writers. |
The nuance that is specific to you
For a plumber, "how to fix a drain yourself" is pure waste. For Sherrod Sports Visas it is a customer for the Do It Yourself route, the petitioner templates, or the Knowledge Hub — and a warm audience member for the full-service petition later, when they realise the RFE they just received is not a DIY problem. Do not blanket-block informational intent. Split it into its own campaign with its own offer and its own, much lower, target cost per acquisition.
Thirty cells here. Add rugby, hockey, tennis, poker, equestrian and Olympic sports and you have well over a hundred — each one an ad group and a landing page. Doing that by hand is a quarter of work. Doing it with Claude Code is an afternoon.
The rule that keeps you honest
Never build a cell that Keyword Planner says has no volume. A page for "O-2 visa for competitive fishing" will sit there getting three impressions a month and teach you nothing. Where volume is thin, roll the cell up: one "combat sports" ad group instead of separate MMA, muay thai, kickboxing and grappling groups, until the data justifies splitting them.
Match types, and the money they leak
Three ways to tell Google how loosely to interpret you. One of them is where budgets go to die.
Start phrase. Add exact for your handful of proven money terms so you can bid them separately. Leave broad alone until you have a mature negative list and months of conversion data — and even then, only in a walled-off test campaign.
One clarification worth stating plainly, because the word is misleading: a "keyword" is not a word. It is the whole search someone typed. where can i get a p1 visa as a rugby player is one keyword. That is why phrase match wins — it catches the thousand ways people phrase the same underlying request without opening the door to boxing gyms and salary questions.
Account architecture
Three nested levels, like folders. Get the nesting right and everything downstream — targeting, budget, reporting — falls into place.
Single keyword ad groups. One search term per group, several ad variants competing inside it, all pointing at a page built for that exact term.
Why one keyword per group
Because it forces alignment. The moment an ad group holds fifty keywords, its ads must be written vaguely enough to cover all fifty — and vague ads are the generic bottom row of Plate 01. With one keyword, the ad can say precisely what the searcher typed, and the landing page can too.
The cost of this approach used to be labour. A hundred cells means a hundred ad groups, several hundred ads and a hundred pages. That is the exact cost Claude Code removes.
Why several ads inside each group
You are not looking for a good ad. You are looking for an outlier — the one variant that dramatically outperforms and that you then run for years. You find outliers by testing many, not by writing one carefully.
One caveat that matters more for you than for a plumber: you need enough volume for a test to mean anything. Some of your cells will get a few hundred impressions a month. Three variants is plenty there. Reserve the ten-variant tests for your highest-volume cells — combat sports, soccer, and the category terms like "sports immigration lawyer".
Building the campaign with Claude Code
Your account is already connected. From here it is reference files plus prompts — and the reference files are what make the output good.
The pattern is always the same: put a markdown file in the project that encodes the standard you want, then write a prompt that tells Claude to read it and act. The prompt is short. The file does the work. This is why the output is specific to sports immigration rather than generic marketing filler.
Set your project up with these files before you build anything.
Add one file the video does not have
brand-voice.md is where you write the things a generic ad generator will get dangerously wrong: how you describe your services, which outcome claims you can and cannot make, whether copy may use the word "attorney", the fact that nothing in an ad may promise a visa result, and the disclaimer language your own site uses. Every ad-writing prompt should be told to read it. This is the cheapest compliance control you will ever build.
Read campaigns.md and brand-voice.md. Research sherrodsportsvisas.com and summarise back to me: the service lines, the sports covered, the visa classifications offered, and the existing page URLs for each, before you build anything. Then create a Search campaign called "P-1A · Combat Sports · Global" configured to the standard in campaigns.md. Use daily budget $60. Do not create ad groups or ads yet — campaign shell and settings only. Show me the full settings list for approval before you push it live.
Notice three things about that prompt. It asks for a research summary first, so you catch misunderstandings before they get baked into a hundred ad groups. It scopes the task tightly. And it asks for approval before anything goes live. Keep all three habits.
The settings that matter, and what to set them to
| Setting | Set to | Reason |
|---|---|---|
| Campaign type | Search only | Display, Demand Gen, Video and Performance Max serve you accidental clicks and app banner taps. For a considered legal purchase, search intent is the entire signal. |
| Networks | Search only — search partners off | Partner sites are a different, lower-quality inventory pool wearing the same label. |
| Bid strategy | Maximise conversions to start | Move to target ROAS once you have real matter values flowing back. Chapter fourteen. |
| Locations | Your export markets — see Chapter Seven | The single most important setting in your account, and the one where standard advice misleads. |
| Location option | Presence, not "presence or interest" | "Interest" shows your ads to anyone anywhere who is merely curious about the US. Enormous waste. |
| Languages | English + Spanish + Portuguese | Language targeting is based on browser settings, not query language. Include them or you filter out your own market. |
| Ad schedule | 24/7, with bid adjustments | Your buyers are in time zones eight to twelve hours away. Business-hours-only scheduling switches off half your market. Adjust bids rather than hours. |
| Devices | All, mobile-weighted | Athletes in most of your export markets are mobile-first. Your pages must be too. |
| Audience segments | Observation, not targeting | Narrowing a cold search campaign by demographic leaves money on the table. Observe, learn, then adjust bids. |
| Auto-apply recommendations | All off | Google's recommendations optimise for Google's revenue. Read them, apply none automatically. |
| Ad rotation | Optimise | Let the machine find your outlier faster. |
On those weekly calls from your Google rep
Their incentives are tied to your spend, not your matter revenue. The recommendations tab and the optimisation score are the same mechanism in software form. Neither is malicious — they are simply not measuring what you are measuring. Read them for ideas, and decide on your own numbers.
Geography — where your buyers actually are
The chapter where you throw away the standard advice and do the opposite.
Every Google Ads guide tells you to target your city and exclude the rest of the world. That advice exists because most advertisers are local service businesses. You are the exception that proves the rule: your revenue comes almost entirely from people who are not in the United States and want to be.
So the exercise is not exclusion. It is ranking the world by athlete export and building a tiered geographic bid structure.
Your approvals archive is the best market research you own. The countries that appear repeatedly in your success stories are Tier 1 by definition.
I am attaching approvals-by-country.csv — our historical approved
petitions with the beneficiary's country of residence at time of filing.
1. Rank countries by number of matters and by total fee revenue.
2. Propose a Tier 1 / Tier 2 / Tier 3 geographic structure per the
definitions in campaigns.md.
3. For Tier 1, recommend a location bid adjustment per country based on
revenue concentration, and flag any country where volume is high but
revenue per matter is low.
4. Output as a table for my approval. Do not apply anything yet.
Still worth excluding
Even with a global footprint you will see click patterns that are obviously not human buyers — data-centre traffic, sudden spikes from a country with no athlete pipeline in your sport, repeated clicks with zero engaged time. Review the geographic report monthly and exclude what is clearly noise. The difference from the standard advice is that you exclude on evidence, not by default.
Bidding, and three ways to pay less
It is an auction. You are competing with firms who have been bidding on "immigration lawyer" for a decade. You win on relevance, not budget.
Every time someone searches, an auction runs. Roughly: higher bids and higher quality get higher positions, and higher positions cost more per click. The lever most advertisers reach for is the bid. The lever that actually compounds is quality.
Where to start, and where to end up
Start on Maximise conversions. Google needs conversion volume before its models are useful, and a brand new account has none. Once conversions are flowing reliably, move toward target CPA, and finally to target ROAS once real matter values are being uploaded back into Google — which is Chapter Fourteen and is where this account becomes genuinely dangerous to your competitors.
This is why the architecture in Chapter Five is not just tidiness. Relevance is a discount.
The three cost levers, in order of leverage
Stop ranking for junk
Every click from a search that could never become a matter is pure loss. This is the largest and fastest saving available to you, and Chapter Ten and Thirteen are entirely about it.
Raise Quality Score
Tight ad groups, pinned root keywords, matching pages. Structural, permanent, compounds over time.
Let smart bidding mature
New accounts are expensive while Google learns. Do not thrash the settings in week two. Give the models conversion data and time.
Bulk ad generation
Fifteen headlines, four descriptions, sitelinks, callouts and structured snippets — per ad. Multiplied by a hundred ad groups. This is the part that used to be impossible.
Pinning headline one is the single most important detail on this plate. Unpinned, Google may lead with "Free Evaluation In 24 Hours" — and the boxer who typed "p-1 visa for boxers" never sees himself in it.
Read anatomy-of-a-good-ad.md, ad-assets-best-practices.md and brand-voice.md. For every ad group in the campaign "P-1A · Combat Sports · Global", create 3 responsive search ads. For each ad: - Headline 1 must be the ad group's exact keyword in title case, PINNED to position 1. Never pin anything else. - Headlines 2-15: rotate credentials, proof, offer and process. Include at least two that name the sport and two that name the visa class. - 4 descriptions. Use concrete specifics — office cities, visa classes handled, what happens after they enquire. No outcome guarantees, no claim we can secure or guarantee any visa. - 6 sitelinks with descriptions, 8+ callouts, and structured snippets using the Services header. - Final URL: placeholder to the homepage for now, plus tracking parameters per setup-conversion-tracking.md. Before creating anything, show me ad group 1's full ad as a sample so I can approve the voice. Then do the rest.
Reviewing what comes back
Do not skip this because the volume is large. Spot-check five ads per campaign against three questions:
- Is headline one the literal search term, and is it the only pinned asset?
- Does any description promise, guarantee or imply a visa outcome? If so, fix
brand-voice.md, not just the ad — otherwise it recurs in every future batch. - Are the sitelinks pointing at pages that actually exist and are relevant to that ad group?
When you find a systematic problem, the fix belongs in the reference file. That is the difference between using Claude Code as a text generator and using it as a system.
A note on regulated-category advertising
Legal and immigration services carry extra advertising requirements in several countries, and rules differ between the US, EU, Brazil and elsewhere. Before you launch into a new market, check Google's current policy for that country and have whoever advises you on professional conduct review the ad copy — particularly around how services and credentials are described. Encode whatever they tell you in brand-voice.md. I'm not a lawyer and this book is not legal advice.
Negative keywords (yours are unusual)
The universal block list every service business needs — minus the parts that would block your own products.
A negative keyword stops your ad showing for searches containing that term. Building this list well is the highest-return unglamorous work in the account. Every blocked junk click is money that stays in your budget for a real petition enquiry.
Group them into themes so you can reason about them later, and share one list across all campaigns.
Wrong visa classes
h1b, h-1b lottery, f1 student, opt, cpt, dv lottery, green card lottery, k-1 fiance, asylum, tps, daca, b2 tourist, tn visa, j-1 exchange.
Largest single source of waste for you. Immigration search volume is dominated by categories you do not practise.
Employment seekers
jobs, hiring, salary, career, internship, paralegal, vacancy, recruitment, resume, "how to become an immigration lawyer".
Government & status lookups
uscis login, case status, receipt number, visa bulletin, ds-160, i-94, embassy appointment wait time, travel.state.gov, priority date.
Academic & media
research paper, thesis, statistics, meaning, definition, wikipedia, reddit, quora, sample letter template pdf.
Careful with "template" — you sell petitioner agreement templates. Block the free-PDF phrasings, not the product ones.
Freebie hunters
free download, no cost, pro bono, free lawyer, legal aid, cheapest.
Note "free evaluation" is your offer — block "free lawyer", not "free evaluation".
The DIY and learning cluster
how to, guide, requirements, checklist, cost, eligibility, "do it yourself", course, self-evaluation, "o-1 vs p-1".
A plumber blocks all of these. You sell to these people — DIY product, Knowledge Hub, templates, and remarketing into full service later. Route them to a separate campaign with a low target CPA and a low-ticket offer.
Read universal-negative-keywords.md.
Build a shared negative keyword list called "SSV · Universal Blocks"
and apply it to every campaign EXCEPT "DIY & Knowledge Hub".
Use phrase match for multi-word blocks and broad for single junk words.
Critically: do NOT add informational or how-to terms to this list —
those are qualified traffic for our DIY product line. Build those as a
second, separate list called "SSV · Full-Service Only" and apply it
only to the full-service petition campaigns.
Show me both lists before applying.
Landing pages that convert athletes
One page per ad group. Built in minutes, not months. And built around the one thing your buyer is actually assessing: whether you have done this for someone like them.
Your buyer has one dominant question, and it is not "what is a P-1A". It is: have these people got someone in my situation into America before? A Georgian wrestler, a Brazilian jiu-jitsu black belt, a Nigerian sprinter — each is scanning for evidence that their specific case is familiar to you. Your approvals archive and your named client wins are the most valuable conversion assets you own, and most firms bury them.
The structure of one page
- Headline = the search term. Verbatim. "P-1 Visas For Professional Boxers", not "Elite Athlete Immigration Solutions".
- One-line qualifier immediately under it. Who this is for, in their language. "For internationally ranked fighters with a US bout schedule." This filters out the unqualified before they cost you consultation time.
- Form above the fold, on the page. Not on a second page, not behind a button that opens a third-party form. Every extra click costs conversions. If you keep the external form, at minimum put a short capture form on the page itself first.
- Proof, specific to the sport. Approval notices with redactions, named wins where you have permission, the sport's own vocabulary. A boxer wants to see boxers.
- Founder video. Not explaining what a P-1 is — they can read. Explaining why you, why this firm, what it is like to work with you. People retain people they like and trust.
- Eligibility factors, plainly listed. National team experience, rankings, awards, expert letters. Let them self-assess. The ones who qualify get more confident; the ones who don't self-select out, which is a feature.
- What happens next. Timeline, fee range or a link to pricing, what documents you'll ask for. Uncertainty is the enemy of a high-ticket enquiry from another continent.
- Second call to action at the bottom. The people who read everything are the most serious. Do not make them scroll back up.
Build Next.js landing pages, one per ad group in the campaign
"P-1A · Combat Sports · Global", in a folder called landing-pages/.
For each page:
- H1 must be the ad group keyword, verbatim, in title case.
- Follow the page structure in landing-page-structure.md.
- Pull the eligibility factors and visa descriptions from
sherrodsportsvisas.com so the substance is accurate — do not
invent legal criteria.
- Sport-specific proof section with placeholder slots I will fill with
real approvals.
- On-page capture form: name, email, WhatsApp, country, sport, current
ranking or record, and hidden fields per setup-conversion-tracking.md.
- Match the visual style of the attached reference image.
- Mobile first. Assume a mid-range Android on a slow connection.
Build one page first and show me before doing the rest.
Speed to lead
When an enquiry lands, contact within minutes, not days. The average business takes around two days to respond; a fast reply routinely outperforms a slow one by a wide margin. For your market add one wrinkle: WhatsApp beats phone in most of your export countries, and time zones mean a call at your 9am is their 2am. Capture WhatsApp on the form and automate an immediate acknowledgement in their language, with a human follow-up during their waking hours.
Two more things, briefly. Split test everything — my opinion, your instinct and your colleague's certainty are all guesses until traffic decides. And note that until you deploy (Chapter Fifteen), these pages run only on your own machine; the ads' final URLs stay on a placeholder until the pages are actually live.
Tracking, tagging & remarketing
For a purchase that takes weeks of deliberation, the second and third visit is where the money is.
Cold traffic does not know you. Warm traffic has read your approvals page, compared O-1 against P-1, and come back. The second group converts at a multiple of the first. To advertise to them you need Google to know who they are — which means a tag on your pages and an audience built from it.
This matters more in your business than in almost any other. Nobody engages an immigration firm on the first click. They research, they ask their agent, they talk to a training partner who did it last year, and then they come back — sometimes weeks later.
Setting it up
- Create
setup-conversion-tracking.mdwith your conversion actions defined — evaluation form submitted, WhatsApp click, pricing page view, DIY purchase — and each one's value. - Run the tracking prompt. Claude places the tag and wires the hidden fields.
- Verify with Google Tag Assistant: connect to the page, complete a test submission, then paste the Tag Assistant output back into Claude and ask it to confirm the tag and conversion events are firing correctly. Reading that output yourself is unnecessary work.
- Build the audiences: all visitors, pricing-page visitors, form-starters who did not finish, and DIY purchasers. Different messages for each.
Which remarketing to run
Search remarketing (RLSA) — yes. Same search ads, shown to people who already visited. Higher cost per click, much higher conversion rate. This is your best remarketing channel by a distance.
Display — try it, cautiously, warm only. Banner ads to people who already know you can work. Banner ads to cold audiences, and Performance Max, Demand Gen and video for a considered legal purchase, generally buy accidental taps rather than clients. If you test them, cap them hard and judge on signed matters, not impressions.
The dashboard & the weekly audit
Setting an account up does not make money. Optimising it does. This is where Claude Code stops saving you time and starts making you profit.
Traditional optimisation is slow, technical and dull: which campaigns to pause, which to scale, which search terms to block, whether the bid strategy is still right. It is exactly the kind of work a busy practice never gets to and an agency charges thousands a month for.
Build a dashboard once, then read it every Monday and let Claude execute the fixes.
Build a local dashboard in dashboard/ that pulls live Google Ads data and shows, by campaign and by ad group: - Spend, clicks, conversions, cost per conversion, ROAS - Segmented by our three geographic tiers and by visa class - Impression share lost to budget vs to rank - Top 20 search terms by spend with zero conversions - Ad groups with fewer than 3 active ads - Any keyword whose Quality Score is 5 or below Then a Recommendations panel with specific actions, each labelled scale / pause / fix / investigate, sorted by dollars at stake.
The Monday routine
Open the dashboard. Read the recommendations. Then run these three prompts in order — they take about ten minutes and replace most of what a retained agency does.
Read find-and-add-negatives.md.
Pull all search terms from the last 30 days with spend but no
conversion. For each, research what the searcher was actually looking
for — check the live Google results if the intent is ambiguous.
Classify each as: block permanently / block for full-service only but
keep for DIY / wrong geography / keep and monitor.
Give me a table with the reasoning and the 30-day spend for each, sorted
by wasted spend. Do not apply anything until I approve.
What this finds that you would not
Terms that look like buyer intent but are not. In the video's example, "DJ hiring" looked like someone hiring a DJ and turned out to be job-board traffic. Your equivalents are subtle: "sports visa" pulling in people looking for tickets to sporting events; "athlete visa" pulling in student-athlete recruitment; a sport's name in a country where the audience is fans rather than professionals. You would take years to spot these by eye.
Analyse the last 60 days by campaign and by geographic tier. Identify: campaigns limited by budget that are hitting target cost per conversion (candidates to scale), campaigns above target CPA with enough volume to judge (candidates to cut), and Tier 2 countries that have earned promotion to Tier 1. Propose a reallocation that holds total spend flat. Show the expected effect and the assumptions behind it.
Audit the entire Google Ads account against the standards in campaigns.md and anatomy-of-a-good-ad.md. Check every campaign for: search partners enabled, "presence or interest" targeting, auto-applied recommendations turned on, ad groups with a single ad, unpinned headline 1, final URLs still pointing at placeholders, missing sitelinks or callouts, and negative lists not attached. Report as a checklist of violations with the campaign name and the fix.
Return on ad spend, end to end
Five links. Get all five working and Google starts hunting for people who pay you, rather than people who fill in forms.
Right now Google has no idea that the enquiry from a ranked featherweight is worth twenty times the enquiry from an amateur with no US bouts. Left to guess, it treats every conversion as equal and cheerfully buys you a flood of the cheap ones. The fix is a data loop from click to signed matter and back.
Step five is the one people skip, and it is the one that changes the account. Until the fee data goes back into Google, all your careful revenue tracking is a report you read — useful, but it does not steer the bidding. Once uploaded, target ROAS bidding starts hunting for people who resemble your paying clients.
The implementation differs for every business because it depends on your CRM and billing stack, so this is a conversation with Claude rather than a fixed recipe. Describe your stack and work through it link by link.
I want to close the loop between Google Ads clicks and paid matters. Our stack: [name your CRM], [name your billing / payments], intake via [form tool]. Matter types and typical fees: - DIY course / templates: $X - P-1S support staff petition: $X - P-1A athlete petition: $X - O-1A petition: $X - EB-1A: $X - Litigation / RFE response: $X Walk me through implementing all five steps, one at a time, waiting for me to confirm each before moving on: 1. URL parameters on every ad final URL 2. Hidden fields on the intake form that capture gclid, keyword, campaign, matter type 3. Storing those against the lead record in the CRM 4. A trigger on payment that writes the actual fee to the record 5. Offline conversion upload back into Google Ads, ideally automated Start with step 1 and tell me exactly what to click.
Deploying the pages
Two free tools, ten minutes, and your local pages become real URLs your ads can point at.
- Create a private GitHub repository. Think of it as cloud storage for code. Private, always — these pages are commercially sensitive before launch.
- Ask Claude to push only the landing pages folder. Your project also contains reference files, prompts and dashboard code. Be explicit:
Upload only the landing-pages folder to this repository. - Connect Vercel to GitHub and import the repository. Set the framework preset to Next.js. Deploy.
- Fix the domain. The default Vercel URL is unusable in an ad. Either buy through Vercel or point a subdomain of sherrodsportsvisas.com at it — a subdomain is better, because it carries your brand into the display URL.
- Swap the final URLs. Every ad currently points at a homepage placeholder. Have Claude update each ad group's final URL to its matching live page, and verify a sample by clicking through from a real ad.
Do not skip step five
An account full of beautifully aligned ads all pointing at your homepage is the generic funnel from Plate 01 wearing a disguise. The alignment only pays once the final URLs are correct.
Packaging it as a skill
Everything so far was slow because you were teaching Claude your business. Now freeze that knowledge into commands.
A skill is a saved workflow you invoke by name. Instead of re-explaining your voice, your structure and your compliance limits every time, you type a slash command and a short line of context. This is what turns a one-off build into an operating system.
Create Claude Code skills from the workflows we have built, each one reading the relevant reference files automatically: /new-campaign — build a campaign to campaigns.md standard /generate-ads — bulk RSAs for named ad groups, brand-voice enforced /new-landing-page — a page per keyword to landing-page-structure.md /audit-negatives — weekly search term audit and negative proposal /weekly-report — dashboard refresh + prioritised recommendations /geo-review — tier promotion and demotion analysis Each skill should confirm scope with me before writing to the live account, and never push changes without approval.
After that, expanding coverage is a sentence. /generate-ads five more variants for the O-1A esports ad group. /new-landing-page for p-1 visa for rugby players. A new sport vertical goes from a week of work to an afternoon.
A sane operating rhythm
- Monday, 15 minutes. Dashboard, then
/audit-negatives, then approve or reject. - Fortnightly.
/generate-adsfor any ad group down to two live variants. Retire clear losers. - Monthly.
/geo-reviewand the full account audit. Promote Tier 2 winners. - Quarterly. Re-run keyword research. Sports rise and fall; new leagues and promotions appear. Add matrix cells that now have volume.
The account is never finished. But after this, maintaining it costs you about twenty minutes a week.
The full prompt library
Everything in this book, in the order you will run it.
| # | Prompt | Reads | Produces |
|---|---|---|---|
| 01 | Research the site and summarise services | — | Shared understanding before anything is built |
| 02 | Geographic tiering from approvals history | approvals-by-country.csv | Tier 1/2/3 country structure with bid adjustments |
| 03 | Build first campaign | campaigns.md, brand-voice.md | Campaign shell, correct settings |
| 04 | Build ad groups from keyword export | keywords-export.csv | One SKAG per viable matrix cell |
| 05 | Bulk ad generation | anatomy-of-a-good-ad.md, ad-assets-best-practices.md, brand-voice.md | 3+ RSAs per ad group, fully populated |
| 06 | Universal + full-service-only negative lists | universal-negative-keywords.md | Two shared lists, correctly scoped |
| 07 | Generate landing pages | landing-page-structure.md + design reference | One Next.js page per ad group |
| 08 | Conversion tracking & audiences | setup-conversion-tracking.md | Tag, conversion actions, remarketing lists |
| 09 | Verify tag via Tag Assistant output | pasted output | Confirmation the tag fires correctly |
| 10 | Build operating dashboard | live account data | Local dashboard + recommendations |
| 11 | Weekly search term audit | find-and-add-negatives.md | Ranked waste report, negatives on approval |
| 12 | Budget reallocation | live account data | Scale / cut proposal, spend held flat |
| 13 | Wire the revenue loop | your stack description | Click-to-fee tracking, offline uploads |
| 14 | Deploy landing pages | landing-pages/ | Live URLs, final URLs swapped |
| 15 | Create skills | all of the above | Slash commands for everything |
| 16 | Monthly full account audit | campaigns.md, anatomy-of-a-good-ad.md | Violation checklist with fixes |
Three habits that keep this safe
- Always ask for a sample before the batch. One ad, one page, one campaign — approve the pattern, then scale it.
- Never let anything push live without approval. Say so in every prompt. The cost of a bad batch across 100 ad groups is real money.
- Fix the file, not the output. When you spot a recurring problem, correct the reference file so it never happens again.