Cross border PPC: how I build paid search and social for several countries from an Irish base

TL;DR

Difficulty: Intermediate

  • Keep one Google Ads account in euro, and make every conversion tag send its currency code so sterling sales from the UK are converted, not misread. Germany and the Netherlands share the euro, so they need no conversion.
  • Give every country its own campaign (or Meta ad set) with its own budget, location and report. From September 2026 Google reads the language from your ads, so the ad text is now the language targeting.
  • Localise the price, payment methods, delivery promise and institutions, not just the words, and research keywords in each language instead of translating them.
  • Add one country at a time with a written gate, then split the budget by marginal return, the margin the next euro buys, never by the average cost per customer.

Most Irish businesses take paid search abroad by copying the Irish account, translating the ads and changing the map, and then wonder why the cost per customer doubles. This article shows how I build the account and campaigns per country instead, what localisation means beyond translation, how keyword research works in a language you do not speak, and how to split one budget between countries by the return on the next euro.

Copying the Irish account abroad is the most expensive way to learn

The usual way an Irish business takes paid search abroad goes like this. Duplicate the Irish campaigns, change the location to Germany, run the ads through a translation tool, point them at the same website, and wait. Two months later the cost per customer is double the Irish figure, nobody can say why, and the verdict is that "Germany does not work for us".

Germany was rarely the problem. One market's account had been stretched over four markets, with one budget, one keyword list translated word for word, and one landing page that still promised next day delivery from Cork. Pay per click (PPC) advertising rewards precision, and precision does not survive a copy and paste.

This article covers what comes after the decision to go: the account and campaigns per country, localisation beyond translation, keyword research in a language you do not speak, and how to split one budget between countries by the return on the next euro. If you are still choosing where to test, read how I use a bridge market before entering Germany first. If your question is how to credit sales across languages once you are live, that is cross language attribution. This one stays on the build and the budget.

Worked example: the business I will use throughout

Ledgerloom is an invented software company in Cork. It sells a quoting and invoicing app to small trades firms: plumbers, electricians, carpenters. Its Google Ads account spends €6,000 a month and brings in 50 paying customers, so it pays €120 per customer. Each customer is worth about €300 of gross margin in the first year once cancellations are counted. The founder, Siobhán, wants to sell in the United Kingdom, Germany and the Netherlands. Every Ledgerloom number in this article is made up, so that every step can be shown. Nobody real, no client.

One account, one currency, set once

Google Ads has three layers: the account, the campaigns, and the ad groups inside them.1 The account holds the billing, and two of its settings can never be changed. The first is the currency: "Your currency is permanently set when you set up your account", and to pay in another currency "you must create a new account".2 The second is the time zone, permanent because it is "such a fundamental part of your account reporting and billing".2

That sounds like a reason to open one account per country. Usually it is not. An Irish business pays its bills in euro and reads its profit and loss in euro. One account in euro gives one view of what the marketing costs, whichever country the click came from.

The revenue is the part that needs care, because some customers abroad pay in their own currency. Here an Irish business has a head start. Germany and the Netherlands pay in euro, the same as home, so for two of the three new markets there is nothing to convert at all. The United Kingdom pays in pounds, and that is where the care goes. The conversion tag has to say which currency each value is in, as a three letter ISO 4217 code such as EUR or GBP.3 Google then converts it, using "the average daily foreign exchange rate", and reports conversion values in the account's billing currency.4 If the tag sends no code, or a wrong one, Google falls back to the default currency of the conversion action.4 That is the quiet failure I find most often: a UK sale reported as if it were in euro, because the tag never said otherwise, and the bidding learning from the wrong number.

I open a second account only when a second legal entity pays its own bills, or a partner in that country must own the account. In every account I have run, the ad schedule follows the account's clock, so a Dutch campaign meant to start at 7am local time starts at 6am on an Irish account's schedule. Plan for the hour.

Worked example: Ledgerloom's account decision

Siobhán asks whether she needs a second account for the three new countries. She does not. All three are billed in euro through the existing account.

What changes is the tag. An Irish signup sends a value of 300 with the code EUR, and so do German and Dutch signups, because their first year margin is in euro too. A UK signup sends the first year margin in pounds, set at 259, with the code GBP. On a day when the average rate is 1.16 euro per pound, Google reports it as 259×1.16=300259 \times 1.16 = 300, so about €300, and the bidding compares like with like. Without the code, the same signup is reported as €259, and the UK looks 14% worse than it is: 300−259300=0.14\frac{300 - 259}{300} = 0.14. The bidding then holds back in the one market that needed a currency code.

The German and Dutch campaigns run from 6am to 7pm on the account's clock, which is 7am to 8pm local time, when trades firms are at their desks or in their vans. The UK shares Ireland's clock, so its campaign needs no adjustment.

One campaign per country, because budget and location live there

The campaign is where the money and the map live. Google's advice on structure: "When you need to use a different set of campaigns settings (ex: budget or location targeting), create a separate campaign."1 Four countries with four budgets means four campaigns at the least.

I keep a country in its own campaign even when two countries share a language. Put Ireland and the UK in one campaign and the system spends the shared budget wherever results are lowest cost today, and you lose the cost and return per country, separately. The last two sections of this article depend on that separation.

Location targeting has two options. "Presence or interest" reaches people in your locations and people who "have shown an interest in your targeted locations". "Presence" reaches only people physically there.5 Google recommends presence or interest "as a best practice on Search",5 and for a travel company that makes sense. For a product that only works under one country's rules, it does not. Ledgerloom's German version writes German invoices. A German plumber living in Cork who reads about Munich is not a customer for it. So I use presence for anything tied to a country's rules, and accept that location signals are Google's best effort, with 100% accuracy not guaranteed.5

Worked example: Ledgerloom's campaign list

Siobhán's account goes from one search campaign to four, named so that a filter on the country code shows each market at once:

  • LL IE Search Generic, Ireland, presence, €6,000 a month
  • LL UK Search Generic, United Kingdom, presence, starting at €1,500 a month
  • LL DE Search Generic, Germany, presence, starting at €3,000 a month
  • LL NL Search Generic, Netherlands, presence, starting at €1,500 a month

Each country also gets a small brand campaign, so people searching for Ledgerloom by name do not compete with the generic budget. Each points at its own pages: ledgerloom.example/uk, ledgerloom.example/de and ledgerloom.example/nl. Nothing is shared except the account, the billing and the conversion actions.

Language is now read from your ads, not set on the campaign

Every Search campaign used to have a language setting, and many international accounts were built around it. Google's help page now says: "Starting in September 2026, the way language targeting works is changing for Search campaigns and the Search Network portion of Performance Max campaigns." The campaign level setting is removed. Instead, "Search ads will automatically match based on the language of your ads", and Google will "prioritize ads that match the user's search term language".6 No action is required. In Performance Max the setting still applies to YouTube, Display, Discover and Gmail, and Shopping ads are not affected by language settings.6

So the language decision moves from a dropdown to the words you write. Two things follow. A translated ad now does two jobs: it persuades, and it decides which searches you are eligible for. And mixed language markets need a deliberate choice. A good few people in the Netherlands search in English. English ads in the Dutch campaign will match those searches. That may be exactly right, but it should be a choice with its own ad group, page and report, not an accident.

Worked example: the Dutch campaign in two languages

Ledgerloom's Dutch campaign has two ad groups. The first has Dutch keywords and Dutch ads, and sends clicks to the Dutch page. The second has a handful of English keywords and English ads, and sends clicks to an English page for the Netherlands, with Dutch payment methods and Dutch tax wording, because an English speaker in Utrecht still files Dutch tax returns.

In the first month the Dutch group gets 1,800 clicks and the English one 300, reported separately. If the English group's cost per customer is far worse, Siobhán pauses it without touching the Dutch one.

On Meta, the location is a hard limit and the rest is a suggestion

Paid social follows the same logic. Meta's location targeting covers people who live in a place or were recently there: the Marketing API says the pairing of home and recent "is the only option available", and it is the default.7 Location is one of the few things automation does not loosen. Meta's documentation says that "expanding individual targeting options does not change your targeting specifications for location", nor age, gender or exclusions.8 With Advantage+ audience on, the system may look beyond the interests you suggested, but it stays inside the countries you chose.

So the structure question is the same as on Google: each country gets its own ad set with its own budget. In my experience, a budget shared across countries drifts towards whichever country gives the lowest cost per result today, usually the smallest market, not necessarily the one where the next euro does the most.

Worked example: Ledgerloom on Meta

Ledgerloom uses Meta only to remind people who started a trial and did not finish setup. The campaign has four ad sets, one per country, each with its own daily budget and each limited to visitors of that country's pages. The German ad set shows a German video with the local price and the words "Rechnung in zwei Minuten" on screen. Advantage+ audience is on, because inside a retargeting list of a few thousand people the system has little room to wander, and the country limit holds either way.

Shopping feeds carry the country, the currency and the language

For physical products, Merchant Center is a third place where the country lives. One data source can show products in several countries, provided delivery is set up for each, and "the location targeting that you set in Google Ads must match the target countries that you select in Merchant Center".9 Where the new country has a different main language, Google says "you should create a separate data source with the product data translated into the new language".9

Prices are converted automatically, "so the customer will find the cost in their local currency".9 The ad then "displays both prices", and Google asks you to "clearly indicate the price in the original currency throughout your landing pages and website".10 My view: conversion is fine for a test and poor for a market you mean to keep. A shopper who sees one price in the ad and lands on another has to do sums and wonder what the bank will charge. Once a country is worth keeping, it gets its own round prices in its own currency and a page that shows them. Inside the eurozone the whole question falls away: the price is already in the shopper's currency.

Worked example: a Galway tea shop sells into the UK

Salthill Tea, an invented shop in Galway, sells a tin of tea for €12. It adds the United Kingdom as a second target country to its English data source, sets up delivery, and adds the UK to the campaign's locations so the two match. At 0.86 pounds to the euro, Merchant Center shows 12×0.86=10.3212 \times 0.86 = 10.32 in pounds next to the €12, while the page still says €12. For eight weeks that answers the only question that matters at first: do UK shoppers want the tea? When the answer is yes, the shop sets a round price of 10.50 in pounds, puts it on a UK page, and sends it in the feed for the UK. Had the shop gone to Germany first, there would have been nothing to convert, only a German data source to write.

Localisation is the price, the promise and the payment, not only the words

Translation changes the language. Localisation makes the page belong to the reader's market, in the details nobody puts in a translation brief.

The price. In the reader's currency and number format. German business buyers expect to see whether a price includes VAT, and in my experience a B2B price shown net, with VAT added at checkout, reads as normal to them. The same euro amount is written differently in Germany, with the symbol after the number and a comma for the cents.

The formats. Dates, decimal separators, phone numbers, addresses. Ireland has its own postal code system, the Eircode, launched in July 2015, with a code that is "unique to a postal address and its geographic location".11 A signup form built to validate Eircodes rejects every UK address, because the two systems look nothing alike. I have seen that kind of bug cost a month of leads from a new country before anyone looked.

The delivery promise. "Next day delivery" is true from Cork to Limerick and false from Cork to Munich. For software, the equivalent is support: hours in the reader's time zone and language, or a plain statement of when someone answers.

The payment methods. In the shops and software businesses I have worked on, Dutch buyers expect iDEAL at checkout, German buyers expect direct debit or payment on invoice, and a card only checkout quietly costs conversions in both. That is my experience, not a statistic, so test it in your own numbers. For Germany, read why German buyers expect to pay on invoice and the cross border steps for Germany.

The institutions. An Irish accounting product talks about Revenue and Revenue Online Service (ROS). A UK customer deals with the UK tax authority and Making Tax Digital, a German one with the Finanzamt. Name the wrong tax office and the reader knows the product was not built for them.

Worked example: Ledgerloom's German page, line by line

Siobhán's first German page was a translation of the Irish page. Localising it changed five things:

  1. The price went from "€29 a month" to "29 € pro Monat" followed by "zzgl. MwSt." (plus VAT), because her buyers are businesses. Same currency, so no new price to set, only the German way of writing it.
  2. The invoice screenshot went from an Irish invoice to a German one, with German tax wording and the German date format.
  3. The trust line went from "Works with Revenue Online Service" to a line about German invoicing rules, checked by a German tax adviser.
  4. Payment went from card only to card and SEPA direct debit, with payment on invoice for annual plans.
  5. Support went from "Irish office hours" to "Support auf Deutsch, Montag bis Freitag, 8 bis 18 Uhr", with a German speaking contractor behind it.

Not one of those is a translation. Each is a fact about the country.

Keyword research starts again in every language

The most common mistake I find in international accounts is a keyword list that was translated rather than researched. People search in their own words, and those words often have no direct Irish equivalent.

The tool is free and already in the account. Keyword Planner lets you set the location ("countries, territories, regions and cities") and the language for its ideas, and breaks the figures down by location.12 So you research Germany in German, set to Germany, and start from what people type, not from your Irish list. Then ask a native speaker in the trade to read the list, because the Planner suggests terms that are correct and that nobody in the trade uses.

Worked example: from an Irish list to three local lists

Ledgerloom's best Irish keyword is "invoice app for tradesmen". The search volumes below are invented for the example. The method is the point.

  • United Kingdom, in English, set to the United Kingdom: the phrasing works, but "invoicing software for Revenue" has nothing behind it, because Revenue is the Irish tax office. The UK list swaps it for searches about Making Tax Digital and the UK tax authority.
  • Germany, in German, set to Germany: the literal "Rechnungs App für Handwerker" shows an invented 90 searches a month. Research turns up "Handwerkersoftware" at 2,400 and "Rechnungsprogramm Handwerker" at 880. The category word is Software or Programm, not App.
  • Netherlands, in Dutch, set to the Netherlands: the literal "factuur app voor vakmensen" barely registers. Research turns up "factuurprogramma zzp" at 1,600. A zzp'er is a self employed person, and many one person trades firms describe themselves that way first.

The three lists share almost nothing with the Irish list, or with each other. That is normal.

Roll out one country at a time, with a gate before the next

Launching four countries in one week means four sets of problems at once and no way to tell which fix worked. I add one country at a time, each with a learning budget for a fixed period and a threshold, written down before the first click, that it must pass before the next country starts. For a subscription business the useful threshold is: does the average cost per customer sit below the first year margin of a customer? If yes, the country pays for itself within a year. If no, the fix is on the page, the offer or the keywords, not in the bid.

Rolling out paid search one country at a timeA top to bottom flow for adding countries: start with the home account healthy and every conversion tag sending a currency code, pick the next country, localise price, payment, delivery promise and institutions, research keywords in the local language, build one campaign for the country with its own budget and presence targeting, run a learning budget for eight weeks, then decide whether the cost per customer sits below the first year margin and support is coping. If yes, keep the country, measure its marginal return and add the next one. If no, fix the page, offer or keywords and run again. It ends with budgets reset by marginal return every quarter.Home account healthy, every conversiontag sends a currency codePick the next country, closest to thehome market firstLocalise the price, payment methods,delivery promise and institutionsResearch keywords in the locallanguage, set to that countryBuild one campaign for the country, itsown budget, presence targetingRun a learning budget for eight weeksIs the cost per customer below thefirst year margin, and is supportcoping?yesKeep the country, measure its marginalreturn, add the next countrynoFix the page, the offer or the keywordsbefore spending more, then run againReset budgets across countries bymarginal return every quarter

The flow runs from the healthy home account at the top to the quarterly budget review at the bottom. The one decision, the gate after eight weeks, stops a weak country from quietly eating a strong one's budget. The "no" branch goes back to the page and the keywords, never to a bigger bid.

Worked example: Ledgerloom's order of entry

Siobhán starts with the United Kingdom: same language, same time zone, a currency her payment provider already handles. After eight weeks on €1,900 a month, the UK's cost per customer sits well below the €300 gate. Germany goes next, the larger prize and the larger change, though at least the money stays in euro. It passes the gate in its second eight weeks, after the keyword list is rebuilt. The Netherlands goes last. By autumn all four run side by side.

The average cost per customer tells you where you have been

With the countries side by side, the first number everyone reaches for is the cost per acquisition (CPA) per country. It is a rate, one thing divided by another.

CPA=spendcustomers\text{CPA} = \frac{\text{spend}}{\text{customers}}

Here CPA\text{CPA} is the cost per acquisition, for Ledgerloom the cost per paying customer, spend\text{spend} is what a country's campaigns cost in a period, in euro, and customers\text{customers} is the number of paying customers they produced in the same period. Both must cover the same period and campaigns, or the rate means nothing. Rates and their denominators are in Foundations: ratios and rates.

Worked example: Ledgerloom's average CPA in October

  • Ireland: 6,00050=120\frac{6{,}000}{50} = 120, so €120 per customer
  • United Kingdom: 1,90020=95\frac{1{,}900}{20} = 95, so €95
  • Germany: 3,15015=210\frac{3{,}150}{15} = 210, so €210
  • Netherlands: 1,50010=150\frac{1{,}500}{10} = 150, so €150

Across all four, €12,550 bought 95 customers, a blended €132 each.

Average cost per customer by countryA bar chart of Ledgerloom's invented average cost per paying customer in October, in euro: Ireland 120, United Kingdom 95, Germany 210, Netherlands 150.Ledgerloom, average cost per customer in October, €€0€62.5€125€187.5€250€120Ireland€95UnitedKingdom€210Germany€150Netherlands€ per customerCountry

The horizontal axis shows the four countries. The vertical axis shows the average cost per paying customer in euro for October. The UK looks best, Germany worst, and all four sit below the €300 first year margin. The tempting reading is to move money from Germany to the UK. That reading is unproven, and the next section shows why.

Budgets follow the marginal return, not the average

An average describes the money already spent. A budget decision is about the next euro. Every market has a point where the low cost clicks are used up and each extra euro buys less, so the question is not "where is the cost per customer lowest?" but "where does the next €500 buy the most?"

marginal return=ΔrevenueΔspend=Δc×mΔspend\text{marginal return} = \frac{\Delta \text{revenue}}{\Delta \text{spend}} = \frac{\Delta c \times m}{\Delta \text{spend}}

Here Δ\Delta means "the change in", Δspend\Delta \text{spend} is the extra money put into one country, in euro, Δc\Delta c is the extra paying customers it brought, mm is the first year margin per customer, in euro, and so Δrevenue\Delta \text{revenue} is Δc×m\Delta c \times m. Above 1, the next euro brings back more than a euro of first year margin. Below 1, less. The companion number is the marginal CPA, ΔspendΔc\frac{\Delta \text{spend}}{\Delta c}, the cost of the next customer rather than the average one. Why the next unit matters more than the average is in Foundations: marginal and average, and the longer treatment in marginal ROI against average ROI.

No report shows a marginal return. You make it, with a step test: raise each country's budget by the same amount for a fixed period, in a quiet month, and compare with the period before.

Worked example: Ledgerloom's step test

In November, Siobhán adds €500 to every country for four weeks and compares with October. The margin mm is €300 everywhere, to keep the arithmetic visible. In real life work it out per country, because prices and cancellation rates differ.

  • Ireland: €6,000 to €6,500, customers 50 to 52, so 2×300500=1.2\frac{2 \times 300}{500} = 1.2
  • United Kingdom: €1,900 to €2,400, customers 20 to 24, so 4×300500=2.4\frac{4 \times 300}{500} = 2.4
  • Germany: €3,150 to €3,650, customers 15 to 18, so 3×300500=1.8\frac{3 \times 300}{500} = 1.8
  • Netherlands: €1,500 to €2,000, customers 10 to 11, so 1×300500=0.6\frac{1 \times 300}{500} = 0.6

The marginal CPA follows: €500 divided by the extra customers gives €250 in Ireland, €125 in the UK, about €167 in Germany and €500 in the Netherlands.

Marginal cost per customer by countryA bar chart of Ledgerloom's invented marginal cost per extra paying customer in euro, from a step test that added €500 to each country for four weeks: Ireland 250, United Kingdom 125, Germany 167, Netherlands 500.Ledgerloom, cost of the next customer, €€0€250€500€750€1,000€250Ireland€125UnitedKingdom€167Germany€500Netherlands€ per extra customerCountry

The horizontal axis shows the same four countries. The vertical axis now shows what the extra €500 paid for each extra customer, in euro. Next to the first chart, the order changes. The Netherlands, a comfortable €150 on average, costs €500 for the next customer: its small market is close to used up at this price. Germany, worst on average at €210, buys its next customer for about €167, because a large market with a young campaign still has room. The UK is best on both counts.

So Siobhán's extra €1,000 next quarter goes €500 to the UK and €500 to Germany, and Ireland and the Netherlands hold. On the step test's figures that buys about seven extra customers a month, a marginal return of (4+3)×3001,000=2.1\frac{(4 + 3) \times 300}{1{,}000} = 2.1. The average led plan, money into the two lowest averages, the UK and Ireland, buys about six, a return of (4+2)×3001,000=1.8\frac{(4 + 2) \times 300}{1{,}000} = 1.8, and starves Germany, the market with by far the most room.

Two warnings. A change of one to four customers in a month is well within ordinary noise, so I treat one step test as a direction, not a verdict, and repeat it before moving large sums. How much data such a decision needs is in how much data you actually need. And a marginal return is only true at today's spend. As the UK's budget grows, its next euro buys less, which is why the flow ends with a step test every quarter, not once.

What this means for your next country

Going abroad with paid media is an architecture job and a localisation job first, and a bidding job second. One account in your own currency, with every conversion tag naming its currency. One campaign or ad set per country, each with its own budget and report. Ads written in the language you want to match. Pages with the right currency, delivery promise and payment methods. Keywords researched in the local language, never translated.

Then the budget. The average CPA tells you whether a country pays for itself. The marginal return tells you where the next euro goes. Different questions, and the second one grows the business.

Footnotes

  1. Google, Organize your account with ad groups, Google Ads Help, https://support.google.com/google-ads/answer/6372655

  2. Google, About your language, number format, time zone, and currency settings, Google Ads Help, https://support.google.com/google-ads/answer/9842104

  3. Google, Track transaction specific conversion values, Google Ads Help, https://support.google.com/google-ads/answer/6095947

  4. Google, Set up additional settings (conversion values reported in other currencies), Google Ads Help, https://support.google.com/google-ads/answer/13064032

  5. Google, About location targeting, Google Ads Help, https://support.google.com/google-ads/answer/1722043

  6. Google, About language targeting (the September 2026 change for Search campaigns), Google Ads Help, https://support.google.com/google-ads/answer/1722078

  7. Meta, Basic targeting: location targeting and location types, Marketing API documentation, Meta for Developers, https://developers.facebook.com/docs/marketing-api/audiences/reference/basic-targeting

  8. Meta, Advantage targeting, Marketing API documentation, Meta for Developers, https://developers.facebook.com/docs/marketing-api/audiences/reference/advantage-targeting

  9. Google, Show products in multiple target countries, Google Merchant Center Help, https://support.google.com/merchants/answer/14991840

  10. Google, About currency conversion, Google Merchant Center Help, https://support.google.com/merchants/answer/7055540

  11. Eircode, Ireland's national postal code service, the page explaining the system and its launch in July 2015, https://www.eircode.ie/what-is-eircode

  12. Google, Refine your new keywords in Keyword Planner, Google Ads Help, https://support.google.com/google-ads/answer/6325025

If you are planning your first or fourth country, I run a free workshop where we map the account, the gates and the step test for your markets, and the first two weeks of work are on me. Bring your cost per customer by country, I will bring the marginal arithmetic.