Importing Google Ads via CSV: What Went Wrong, What Worked, and How to Keep It Clean
If you've ever tried to manage multiple Google Ads campaigns through spreadsheets, you know how fast the system can punish even small mistakes. This post documents our real-world experience trying to build a new Google Ads structure entirely via CSV imports using Google Ads Editor—what broke, what fixed it, and why you absolutely need Expert Mode enabled to do it right.
If you're using Smart Mode, you won't get far here. Smart Mode is Google's simplified interface designed for small, automated campaigns. It hides most of the precision tools used in serious ad management. For structured CSV imports, it's a non-starter.
Smart Mode limits what you can do:
Expert Mode, by contrast, gives you the control and transparency needed for scale. It unlocks:
We started with one goal: import everything—campaigns, ad groups, keywords, and ads—using CSV files. On paper, this should've taken minutes. Instead, Google Ads Editor threw a series of vague errors: "Ambiguous row type," "Unknown location," and imports that simply wouldn't enable.
Most of these errors came down to one thing: Google Ads Editor is extremely strict about format and order. It doesn't guess or correct. If a column name, header, or order is off by even one field, it rejects the entire file.
After a full teardown and rebuild of our files, we mapped what caused each failure and how to structure imports cleanly. Those "gotchas" are listed below.
Each CSV must contain only one entity type—Campaigns, Ad Groups, Keywords, or Ads. Mixing types (for example, Campaign + Keyword) caused the infamous "Ambiguous row type" error.
Google Ads is case-sensitive. Only these work:
BroadPhraseExact
Campaign rows that included location data caused import failures. Locations must be in a separate Locations.csv file, each with a proper numeric location ID.
When using names like "Texas" or "United States," Editor sometimes displays "Unknown." Always use numeric IDs (example: Texas = 21176).
When previous bad imports remain, the "Import file" button can gray out. Remove invalid rows in Keywords & Targeting → Locations and retry.
Two settings require manual confirmation after import:
They indicate missing data or unposted changes, not actual import issues.
Here's the minimal, valid schema for each import type. Each file below links to an example.
Campaign CSV Excerpt:
Type,Action,Campaign,Budget,Budget type,Campaign status,Bidding strategy type,Ad rotation,Networks,Language
Campaign,Add,Branding,5,Daily,Enabled,Manual CPC,Optimize,Google search; Search partners,en
Location CSV Excerpt:
Type,Campaign,Ad group,Location ID,Location type,Location name,Action
Location,Branding,,21176,State,Texas, United States,Add
You mixed entity types or the header mapping doesn't match what Google expects.
No. Import them separately in Locations.csv.
Residual invalid rows exist. Delete them and retry.
Not for early lead-generation campaigns. Start with "Google search; Search partners."
No. Automated bidding honors budget, not per-click caps. Stick to Manual CPC until data accumulates.
Key Takeaway: Getting CSV imports right in Google Ads isn't about memorizing fields—it's about understanding how rigid the Editor's hierarchy is. Once you align your structure and import order, the system stops fighting you and starts saving you hours.
Let our experts handle the technical setup while you focus on serving clients.
Get Started