Attributing Spend Across Markets: Solving the Campaign Naming Problem

Portrait of Juan Garzon
Juan Garzon
-
5 min read
-
August 25, 2026
One shared campaign split into three market-encoded campaigns, with spend allocated by tracked sessions per market.

A brand selling into Germany, Austria, and Switzerland runs one German language campaign covering all three. It performs well. Then someone asks whether Switzerland is profitable, and the answer turns out to be unavailable, because the spend sits in one campaign while the revenue arrives in three currencies from three markets with three different shipping cost structures. This is the multi market attribution problem, and it is close to universal in DACH and wider European ecommerce. It is also mostly a structural problem rather than a measurement one, which means the fix lives in campaign architecture rather than in a better analytics tool.

A brand selling into Germany, Austria, and Switzerland runs one German language campaign covering all three. It performs well. Then someone asks whether Switzerland is profitable, and the answer turns out to be unavailable, because the spend sits in one campaign while the revenue arrives in three currencies from three markets with three different shipping cost structures. This is the multi market attribution problem, and it is close to universal in DACH and wider European ecommerce. It is also mostly a structural problem rather than a measurement one, which means the fix lives in campaign architecture rather than in a better analytics tool.

Why Market Level Attribution Breaks

Three distinct causes, with different fixes.

Campaigns span markets. A single campaign targeting a language rather than a country produces one spend figure covering several markets. There is no platform reported way to split it, because the platform bills the campaign, not the country.

Market is not encoded in the campaign name. Even where campaigns are market specific, if the name does not carry the market in a parseable position, analytics cannot group by it without a manual mapping table that someone has to maintain.

Revenue and cost live in different systems with different market definitions. The shop knows the delivery country, the ad platform knows the targeted geography, and these do not always agree. A customer with an Austrian billing address shipping to Germany can be counted in either market depending on which system you ask.

The consequence is that market level profitability, which is one of the more important questions a European ecommerce brand can ask, gets answered with estimates or not at all.

Encoding Market in the Structure

The cleanest fix is architectural: make market a campaign level dimension and carry it in the name.

{market}_{funnel}_{objective}_{period}

Producing de_prospecting_purchase_2026q2, at_prospecting_purchase_2026q2, ch_prospecting_purchase_2026q2.

Market goes first because position matters for parsing, and because campaign lists sort alphabetically, which groups markets together in the interface.

Use ISO country codes rather than names or improvised abbreviations. de not germany or ger or DE-DACH. Consistency here is what allows a formula or a reporting tool to split the name and produce a market dimension automatically.

When this structure flows into UTM parameters through the platform's dynamic campaign name macro, market becomes available in your analytics as a parseable component of utm_campaign without any additional configuration.

The Cost of Splitting Campaigns

Separating a language campaign into three market campaigns has a real cost, and it should be acknowledged rather than dismissed.

Each campaign needs enough conversion volume to exit the learning phase and optimise effectively. Splitting one campaign generating 200 conversions a week into three generating 140, 40, and 20 may push the smaller two below the threshold where the algorithm can optimise, and their performance will suffer.

This produces a genuine trade off between measurability and delivery efficiency. Three practical resolutions:

Split where volume supports it, keep combined where it does not. Germany separate, Austria and Switzerland combined, if the smaller markets individually lack volume. You get market visibility on the majority of spend and an estimate on the remainder.

Split at ad set level rather than campaign level. Some platforms allow campaign budget optimisation across ad sets while still reporting spend per ad set. Market at ad set level with a shared campaign budget preserves learning while giving you the split.

Keep combined and allocate. Accept the shared campaign and apply an allocation rule, which is the subject of the next section.

Allocating Shared Spend

Where campaigns genuinely cannot be split, spend has to be attributed to markets by rule. The rule should be explicit, documented, and consistently applied, because any rule is defensible and no rule is not.

Four allocation bases, in decreasing order of accuracy:

By tracked sessions per market. If the campaign produced 8,000 German sessions, 1,500 Austrian, and 900 Swiss, allocate spend in those proportions. This is the most defensible basis because it reflects where the campaign actually delivered, and session geography is available in analytics.

By platform reported impressions per market. Where the platform breaks delivery down by country in its reporting, use that. It reflects delivery rather than response, which is arguably the right basis for a cost allocation.

By attributed revenue per market. Simple, but circular. Allocating cost proportionally to revenue guarantees every market shows identical efficiency, which makes the exercise pointless.

By population or market size. A last resort that reflects intent rather than delivery.

The first two are the real options. Session based allocation is usually the most practical because the data is already in your analytics and the logic is easy to explain.

Whichever you choose, document it on the report. A market profitability figure derived from an undisclosed allocation rule will be challenged the first time it produces an inconvenient answer, and the argument will be about the rule rather than about the market.

Reconciling Market Definitions

The definitional mismatch between systems needs a single decision, made once.

DefinitionSourceBest for
Shipping countryShop systemLogistics cost, contribution margin
Billing countryShop systemPayment and tax
Session geographyAnalyticsMedia delivery and allocation
Targeted geographyAd platformCampaign intent
Store or currencyShop configurationPricing and revenue

For marketing performance, shipping country is usually the right primary definition, because it determines the shipping cost and therefore the contribution margin on the order. Session geography is the right basis for allocating media cost, since it reflects where the media was actually consumed.

Using shipping country for revenue and session geography for cost introduces a small inconsistency, since a customer can browse in one country and ship to another. In practice the overlap is small and the alternative, forcing both to one definition, distorts one side or the other more severely. Document the choice and move on.

Market Level Contribution, Not Just Revenue

Once spend and revenue are both attributable to markets, the more important calculation becomes available: contribution margin per market.

This matters because European markets differ on more than language. Shipping costs to Switzerland differ from domestic German shipping. Cross border VAT handling, customs for non EU markets, return rates, payment method mix and its associated fees, and local price expectations all vary. A market can produce identical revenue efficiency and materially different profitability.

The Swiss case is the standard illustration for DACH brands. Higher average order values and strong purchasing power often make Switzerland look excellent on revenue metrics, while customs handling, higher shipping cost, and return logistics compress the margin substantially. Only a market level contribution calculation shows this, and it frequently changes the budget allocation.

The decision factors:

  • Is market encoded in campaign names, in a fixed position, using ISO codes?
  • Where campaigns are shared, is the allocation rule documented?
  • Which market definition is primary, and is it applied consistently?
  • Is contribution margin calculated per market, not just revenue?
  • Does the split preserve enough conversion volume per campaign to optimise?
  • Are currency conversions applied at a consistent rate and date?

That last point causes quiet errors in multi currency reporting. If revenue is converted at the transaction date rate and spend at a month end rate, market comparisons drift with exchange rates rather than with performance. Pick one convention, usually the transaction date rate for both, and apply it everywhere.

Summary

Market level attribution breaks when campaigns span markets, when market is not encoded in campaign names, and when revenue and cost systems define markets differently. The fix is structural: put the market first in the campaign name using ISO country codes, split campaigns where conversion volume supports it, and use ad set level splits or documented allocation rules where it does not.

Choose one primary market definition, shipping country for revenue and session geography for media allocation, and apply it consistently. Then calculate contribution margin per market rather than revenue, because shipping, customs, returns, and payment mix differ enough across European markets that revenue efficiency and profitability regularly disagree. The market that looks strongest on ROAS is frequently not the one contributing most to the business.

FAQ

Should I split campaigns by market even if it hurts optimisation?
Only where conversion volume supports it. Splitting a campaign into three that each fall below the platform's learning threshold costs more in delivery efficiency than the reporting clarity is worth. Split the large market, combine the small ones, and allocate the combined spend by session share.

What is the best way to allocate shared campaign spend across markets?
By tracked sessions per market, since it reflects where the campaign actually delivered and the data is already in your analytics. Avoid allocating by revenue, which is circular and makes every market show identical efficiency by construction.

Should market be defined by shipping country or billing country?
Shipping country for marketing performance, because it determines shipping cost and therefore contribution margin. Billing country matters for payment and tax purposes but is the wrong basis for evaluating market profitability.

How do I handle currency in multi market reporting?
Convert everything to one reporting currency using a consistent convention, typically the transaction date rate applied to both revenue and spend. Mixing conversion dates or rates makes market comparisons move with exchange rates rather than with performance.

Why does Switzerland often look worse on contribution margin than on ROAS?
Because customs handling, higher shipping costs, and return logistics consume margin that revenue based metrics do not see. Higher average order values inflate ROAS while the cost structure compresses profit, which is exactly the gap a market level contribution calculation is for.

#
Getting Cross-Channel Insights
#
Gaining Tracking Data

Decisions start with trust

14-days for free