Bulk-uploads webinterface (AdWords)
Ooit in het tweede decennium van deze eeuw (of misschien wel eerder), was de AdWords Editor de aangewezen manier om wijzigingen in bulk aan te brengen. Tegen het eind van dat decennium, werd de AdWords Editor niet langer bijgehouden. Het kon bv. niet overweg met de aangepast opmaak van advertenties die vanaf ca. 2019 actief werden.
Gelukkig kun je tegenwoordig via de webinterface instellingen in bulk uploaden. Op de verschillende schermen vind je onder de knop Edit de mogelijkheden om sjablonen te down- en te uploaden.
Bestandsformaat
Bestandsformaat is een fluitje van een cent.
Vanuit LibreOffice Calc
- De standaardinstellingen voldoen (komma als scheidingsteken; Tekstvelden omsloten met weet-ik-veel-wat; UTF8)
- Mijn favoriete instellingen voldoen gelukkig ook (tab als scheidingsteken; Tekstvelden optioneel omsloten; UTF8).
Geldbedragen: Punt als decimaalscheidingsteken; Geen valuta-symbool. Waarschijnlijk het handigste om bij het invullen van het sjabloon, geldbedragen als tekst in te voeren en niet als getallen.
Vanuit MySQL
Bv.:
"select * from campaign order by sort_order into outfile '", @file_name,"' character set utf8 fields terminated by '\t' escaped by '' lines terminated by '\n';"
Sjabloon downloaden
Ga in Google Ads naar de entiteit waarvan je wilt weten hoe het sjabloon eruit ziet (bv. AdGroup), en download die entiteit. Dat werkt ook als de entiteit leeg is.
Voorbeeld: AdGroup (sep. 2019 - In mei 2020 leek dit nog steeds actueel te zijn):
Ad group report All time Ad group status,Ad group,Status,Currency code,Default max. CPC,Ad group type,Clicks,Impr.,CTR,Currency code,Avg. CPC,Cost Total: Account,,,,,,0,0, --,EUR, --,0.00
Kenmerken:
- UTF-8
- Komma-gescheiden
- Punt als decimaalcheidingsteken
Hoe het werkt
Herhaaldelijk hetzelfde bestand uploaden?
Het is geen probleem om herhaaldelijk hetzelfde document te uploaden.
In juni 2020 uploadde ik een document met 1.600 AdGroups. De eerste 200 werden geweigerd met een foutmelding An error has occured, try again later. Toen ik tien minuten later het document opnieuw uploadde, waren alle 1.600 Adgroups aanwezig.
Escape dubbele aanhalingstekens (juni 2020)
Dubbele aanhalingstekens (namen AdGroups, keywords), moet je escapen door er een drie aanhalingstekens van te maken.
Voorbeeld hoe ik dat in juni 2020 heb gedaan:
CREATE DEFINER=`root`@`localhost` PROCEDURE `export_set_escape_codes`(in tblname tinytext ) BEGIN # # Escape NULL & " (for Google Ads) - Last updated: June 2020 ###################################################################################################################################### # # * Beautifully simple code :) # * Where-clause should include db-name. Otherwise columns from other databases will be included! # * Tinytext: Up to 255 characters - That's plenty # # ###################################################################################################################################### # Replace null with "" - Form DDL-string ###################################################################################################################################### # # set @string_01=concat ( "Update ",tblname," set ", ( select group_concat(column_name,"=ifnull(",column_name,",'')") from information_schema.columns where table_name=tblname and table_schema=database() ) ,";" ); # The ddl code above, expanded (for a given tblname) ############################################################## # # Update adgroup # set # campaign_name=ifnull(campaign_name,''), # adgroup_name=ifnull(adgroup_name,''), # adgroup_status=ifnull(adgroup_status,''), # currency_code=ifnull(currency_code,''), # max_cpc=ifnull(max_cpc,''), # adgroup_type=ifnull(adgroup_type,''), # sort_order=ifnull(sort_order,''); # ###################################################################################################################################### # Replace " with """ - Form DDL-string ###################################################################################################################################### # # set @r0=char(34); set @r1=concat(char(34), char(34), char(34)); set @string_02=concat ( "Update ",tblname," set ", ( select group_concat(column_name,"=replace(",column_name,", '", @r0,"', '", @r1, "')") from information_schema.columns where table_name=tblname and table_schema=database() ) ,";" ); ###################################################################################################################################### # Check ###################################################################################################################################### # select @string_01; select @string_02; ###################################################################################################################################### # Execute ###################################################################################################################################### # prepare ps1 from @string_01; execute ps1; drop prepare ps1; prepare ps2 from @string_02; execute ps2; drop prepare ps2; END
Sjablonen
AdGroup (Aug. 2020)
Ad group report 18 July 2020 - 16 August 2020 Ad group status Ad group Status Currency code Default max. CPC Impr. Clicks CTR Currency code Avg. CPC Cost Label Enabled foo +bar Eligible EUR 2.50 2 1 50.00% EUR 0.26 0.26
Ads (Aug. 2020)
Dit is een export vanaf MCC-niveau, dus met verschillende soorten advertenties uit verschillende accounts en campagnes. Veelzijdiger kan het waarschijnlijk niet:
Ad report All time Ad status Ad type Final URL Headline Headline 1 Headline 1 position Headline 2 Headline 2 position Headline 3 Headline 3 position Headline 4 Headline 4 position Headline 5 Headline 5 position Headline 6 Headline 6 position Headline 7 Headline 7 position Headline 8 Headline 8 position Headline 9 Headline 9 position Headline 10 Headline 10 position Headline 11 Headline 11 position Headline 12 Headline 12 position Headline 13 Headline 13 position Headline 14 Headline 14 position Headline 15 Headline 15 position Description Description 1 Description 1 position Description 2 Description 2 position Description 3 Description 3 position Description 4 Description 4 position Display URL Path 1 Path 2 Auto-applied ad suggestion Mobile final URL Tracking template Final URL suffix Custom parameter Campaign Ad group Status entity_owner_info.descriptive_name Impr. Interactions Interaction rate Currency code Currency Avg. cost Converted currency code Avg. cost (Converted currency) Cost Cost (Converted currency) Enabled Expanded text ad https://example.com/warme-lunch -- <text> -- <text> -- <text> -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- <text> -- -- <text> -- -- -- -- -- -- warme-lunch -- No -- -- <text> <text> Approved FooBar 2,53 106 4.19% EUR EUR 1.62 EUR -- 171.31 -- Enabled Responsive search ad https://example.com -- <text> -- <text> -- <text> -- <text> -- <text> -- <text> -- <text> -- <text> -- <text> -- -- -- -- -- -- -- -- -- -- -- -- -- -- <text> -- <text> -- <text> -- -- -- -- -- -- No -- -- <text> <text> Approved FooBar 16,159 769 4.76% EUR EUR 1.64 EUR -- 1259.25 -- Paused Text ad https://example.com <text> -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- <text> -- <text> -- -- -- -- -- koolborstels-online.nl/Overzicht -- -- No -- -- <text> <text> Paused BarFoo 18,438 2,425 13.15% EUR EUR 0.07 EUR -- 166.50 -- Enabled Product ad -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- No -- -- <text> <text> Approved BarFoo 16,537 114 0.69% EUR EUR 0.49 EUR -- 55.49 -- Total: All but removed ads 1,820,762 200,387 11.01% EUR EUR 0.12 EUR -- 23045.80 -- Total: Manager account 15,247,341 400,419 2.63% EUR EUR 0.14 EUR -- 56027.09 -- Total: Manager account 0 0 -- USD USD -- EUR -- 0.00 -- Total: Search 7,279,419 385,065 5.29% EUR EUR 0.13 EUR -- 50430.89 -- Total: Display 7,123,039 8,159 0.11% EUR EUR 0.11 EUR -- 877.89 -- Total: Shopping 615,997 3,782 0.61% EUR EUR 0.61 EUR -- 2297.20 -- Total: Smart 228,886 3,413 1.49% EUR EUR 0.71 EUR -- 2421.11 -- Total: Search 0 0 -- USD USD -- EUR -- 0.00 --