Google Ads prijsextensie automatiseren gemakkelijker met Channable
De gemiddelde adverteerder mag van geluk spreken dat de Autoriteit Consumenten & Markt nog geen contact heeft gehad over misleidende prijzen in de Google Ads prijsextensies. Volgens de Wet oneerlijke handelspraktijken is prijsmisleiding, zoals te lage prijzen als lokkertje, verboden. Een kleine steekproef van 100 prijsextensie-resultaten leverde 56 incorrecte prijzen op, waarvan 21 prijzen lager en 35 prijzen hoger dan de prijzen op de website. Vorig jaar legde ik al uit hoe je met een feed management tool en een Google spreadsheet je prijsextensie kon automatiseren. In dit blog blikken we vooruit naar de feature update van feed management en campagne creatie tool Channable waarmee prijsextensies automatiseren makkelijker wordt dan ooit te voren.
Prijsextensie: de basics
Een prijsextensie is een advertentie-extensie die vanaf-, tot- of gemiddelde productprijzen toevoegt aan jouw advertentie. De extensie is ook meteen een link naar de desbetreffende product- of categoriepagina op de website. Je kan deze extensie gebruiken voor productcategorieën (zoals schoenen, shirts, broeken, etc.), subcategorieën (basketbalschoenen, voetbalschoenen, etc.), modellen (Dunk High, Air Max, MedCon, etc.) en nog veel meer.
Mijn advies om altijd meer varianten van een advertentie-extensie mee te nemen dan het maximale aantal wat vertoond kan worden. Hierdoor zijn de advertentie optimalisatie algoritmes van Google Ads in staat om zelf te kiezen welke extensie het meest relevant is, i.p.v. dat altijd dezelfde variant van een extensie moet worden getoond. Aangezien er maximaal 1 prijsextensie tegelijk kan worden getoond, adviseren wij dus om minimaal 2 prijsextensies per campagne of advertentiegroep mee te nemen. Om dit gemakkelijk te realiseren kun je altijd een kortingen tot en een prijzen vanaf variant van de prijsextensie mee kunnen nemen in jouw campagne opzet.
Het probleem met Google Ads prijsextensies
Zoals ik net al zei, blijken de meeste prijsextensies in onze steekproef niet up to date. Dit komt doordat het niet mogelijk is in de Google Ads interface om een dynamische prijs toe te voegen aan de prijsextensie. Het wordt je dus niet erg makkelijk gemaakt om de juiste prijs te vertonen. Vandaar dat automatiseringstrucjes via excel-uploads of de Google Ads API nodig zijn om te zorgen dat jij altijd een correcte prijs in jouw advertentie hebt.
Channable: prijsextensie feature update
Tijdens het Channable partner event van 5 juli werd aangekondigd dat het automatiseren van de prijsextensie binnenkort beschikbaar wordt binnen Channable. Hierdoor wordt het mogelijk om meerdere keren per dag de prijsextensie dynamisch van de juiste prijzen te voorzien. Hierbij werden ook al de eerste screenshots gedeeld van deze feature. Zie hieronder een voorbeeld van de front end van deze nieuwe feature. In dit blog helpen wij jou om jouw feed klaar te maken voor de volgende versie van Channable waarin de prijsextensie beschikbaar is. Natuurlijk is deze methode van feed optimalisatie ook toepasbaar als jij gebruikt maakt van een andere tool, maar voor dit blog maken wij gebruik van Channable.
De aanpak van de Google Ads prijsextensie in Channable
Stap 1: allereerst moet de back end van jouw website gekoppeld worden met Channable. Voor vele content management systemen zijn er plugins of apps beschikbaar om de back end product feed te koppelen met het feed management systeem van Channable. Mocht deze optie niet beschikbaar zijn, kan er ook een dynamische csv, xml of txt worden ingeladen.
Stap 2: in Channable maak jij op basis van de product feed een eigen csv met daarin alle velden die een Google Ads prijsextensie nodig heeft. Stel, je bent een marketeer voor Coolblue, dan zou je prijsextensies kunnen maken op basis van de merken in een productcategorie, zoals:
Productcategorie | Laptops | Printers | Koelkasten |
Merken | HP | HPE | Samsung |
Acer | Lenovo | Bosch | |
Asus | Canon | Liebherr |
Stap 3: deze eigen csv wordt gebruikt om alle producten in de hoofdfeed in Channable te verrijken met prijsextensies die later in campagne creatie kunnen worden gebruikt. Dus aan de Samsung koelvriescombinatie RB33J3205SA/EF wordt de koelkast prijsextensie gekoppeld en aan de HP EliteBook 840 G1 Ultrabook wordt de laptops prijsextensie gekoppeld, enzovoort.
Op deze manier ben jij helemaal ready om op de dag van de feature release van Channable, meteen de prijsextensie in al jouw advertentiegroepen in te zetten! Daarnaast kun je deze methode ook gebruiken om jouw feed met meerdere prijsextensies per product te verrijken of om ook sitelinks & overige extensies op deze manier op te bouwen en aan alle items in de feed te koppelen. Zo ben jij niet alleen klaar voor de feature update voor prijsextensies, maar in de toekomst voor iedere extensie die Channable toevoegt of Google Ads in beta heeft.
De prijsextensie opbouw stap voor stap
In theorie klinkt het fantastisch; een feed waarbij alle items alle informatie bij zich dragen om extensies op te bouwen. Maar hoe pak je dat nou praktisch aan? Let’s go!
Stap 1: om een prijsextensie feed te kunnen bouwen moet ieder item alle benodigde velden bij zich dragen. In het geval van de prijsextensie zijn dat de volgende velden:
- Type
- Price_qualifier
- Language
- Item_1_header
- Item_1_description
- Item_1_price
- Item_1_final_url
- Item_2_header
- Etc. tot en met item_8_final_url
Daarnaast voegen we voor het aanmaken van de extensie ook de volgende velden toe:
- Item_header
- Item_header_length
- Item_header_list_length
Setup productfeed
Stap 2: voeg deze velden toe aan de setup van de productfeed. Navigeer hiervoor naar setup > Edit mapping > Ad new field en klik vervolgens op save & import. Dit zijn dus allemaal velden die nog niet bestaan in jouw e-commerce back end, maar die wij in de volgende stappen gaan opbouwen in Channable.
Stap 3: maak een nieuwe csv feed aan. Navigeer hiervoor naar Feeds > Add new feed > Custom (CSV).
Bouw het skelet van regels voor de prijsextensie
Stap 4: zet het skelet van de regels neer zodat je overzicht houdt voor de opbouw van de prijsextensie. De standaard opzet die wij hanteren voor iedere feed is als volgt:
- Filters (voor alle items die uit de feed gefilterd moeten worden)
- Cleaning (voor alle data in items die opgeschoond moet worden voor de creatie begint)
- Type, price_qualifier, etc. (daarnaast subheaders voor alle aan te maken velden)
- Group & slice extensions (dit is de laatste stap waar alle magie van de prijsextensie creatie plaatsvindt)
Dit zijn allemaal lege regels (if all, then take all fields and do nothing) die alleen gebruikt worden om overzicht te houden in de creatie die volgt.
Stap 5: filter alle irrelevante data uit de feed met if-then exclude regels en schoon waar nodig data op. Aangezien dit type regels een blog op zich beslaat, slaan we dit vooralsnog over.
Set value to – regel opzetten
Stap 6: definieer het type prijsextensie met een ‘set value to’ regel voor alle producten. De beschikbare prijsextensie typen zijn:
- Merken
- Gebeurtenissen
- Locatie
- Buurten
- Productcategorieën
- Productniveaus
- Services
- Servicecategorieën
- Serviceniveaus
Controleer hierna in de selected items hoe het resultaat er uit ziet:
Definieer de price qualifier
Stap 7: definieer de price qualifier met een ‘set to value’ regel voor alle producten. De beschikbare price qualifiers zijn:
- <no qualifier>
- Vanaf
- Tot
- Gemiddeld
Controleer hierna in de selected items hoe het resultaat er uit ziet:
Zorg voor de juiste taal
Stap 8: definieer de taal met een set to value regel voor alle producten. De beschikbare talen zijn:
- NL voor Nederlands
- EN voor Engels
- Daarnaast zijn ook Frans, Duits, Italiaans, Japans, Pools, Portugees, Russisch, Spaans, en Zweeds beschikbaar.
Controleer hierna in de selected items hoe het resultaat er uit ziet:
Creëer de gewenste header tekst voor jouw prijsextensie
Stap 9: Creëer de gewenste header tekst voor jouw prijsextensie op basis van de velden in jouw feed. In ons geval willen we de merknaam combineren met de productcategorie, bijv: HP laptops, Asus laptops, etc. Daarnaast willen we alle onnodige spaties en hoofdlettergebruik aanpassen voor de gecreëerde headers. Als laatste willen we de header lengte berekenen in een los veld. Zodat we nog extra regels kunnen instellen als de dynamische header tekst te lang is.
Controleer hierna in de selected items hoe het resultaat er uit ziet:
Voorkom dubbele producten in je productfeed
Stap 10: Aangezien er meerdere producten binnen HP laptops en Samsung koelkasten vallen willen we alle dubbele producten verwijderen. Aangezien we prijsextensies gaan bouwen met de laagste vanafprijs, behouden we het product met de laagste prijs in de feed.
Stap 11: Aangezien een prijsextensie header maximaal 25 tekens mag bevatten, gebruiken we het berekende item_header_length veld om alle te lange headers er uit te filteren. Hierdoor worden bijvoorbeeld voor de categorie laptops headers als HP laptops, Lenovo laptops, ASUS laptops, Acer laptops, en MSI laptops behouden, terwijl langere merknamen worden verwijderd.
Stap 11 b: Een alternatief zou kunnen zijn om alle te lange teksten te vervangen met een alternatieve kortere tekst om vervolgens nogmaals de item_header_length te berekenen. Dit type regels kun je gebruiken om fallbacks te maken voor te lange teksten, totdat alle producten een passende tekst hebben of op het einde kan alsnog een exclude all fields regel gebruikt worden om de overgebleven te lange teksten te verwijderen.
Item_description
Stap 12: Het eerstvolgende veld dat moet worden ingevuld voor de prijsextensie is het item_description veld. Dit zou zowel een statische als een dynamische waarde kunnen zijn. In het geval van een dynamische waarde is het belangrijk om een item_description_length veld te gebruiken zoals in stap 11 om te controleren of de description niet te lang is. In het geval een statische waarde is dit niet nodig. Wederom mogen er maximaal 25 tekens gebruikt worden net als bij de header.
Controleer hierna in de selected items hoe het resultaat er uit ziet:
Stap 13: Vervolgens heeft elke prijsextensie een prijs nodig. Aangezien we in stap 10 de laagste prijs behouden hebben bij het dedupliceren van de items in de feed met dezelfde item_headers, zou nu de laagste prijs per merk en productcategorie in de feed moeten zijn overgebleven. Aangezien de prijsextensie feed uiteindelijk weer wordt gecombineerd met de hoofd feed, is het belangrijk om de laagste prijs naar een ander veld te schrijven. In ons geval houden we de naam van het prijsextensie veld aan: item_price.
Let er hierbij op dat de price in het format moet zijn van de targettaal. Dus aangezien Nederlands een komme gebruikt in bedragen moeten we dit aanpassen in de feed 123,45. Daarnaast mocht dit niet al zo in de feed staan moet ook de afkorting van het gebruikte valuta worden toegevoegd.
Controleer hierna in de selected items hoe het resultaat er uit ziet:
URL naar de juiste filtering op de website leiden
Stap 14: Als laatste heeft elk element van een prijsextensie ook een URL nodig die naar de juiste filtering op de website gaat. Dus de Samsung koelkasten prijsextensie moet daadwerkelijk naar een landingspagina gaan met een assortiment Samsung koelkasten en niet een productpagina of categorie pagina waar geen merk gefilterd is. Dit is ontzettend website en feed afhankelijk, waardoor er geen standaard regel te maken is. Soms is het een kwestie van het afknippen van de URL zodat de productspecifieke elementen worden verwijderd. Bijvoorbeeld https://www.voorbeeld.nl/koelkasten/samsung/RS68N8221S9-EF/
Of het gebruiken van een zoekfunctie op de website: https://www.voorbeeld.nl/zoekresultaten/samsung+koelkast/
Controleer hierna in de selected items hoe het resultaat er uit ziet:
This is where the magic starts!
Stap 15: nu alle items in de feed een element zijn van een prijsextensie begint de magie! Namelijk verschillende merken computers moeten samengevoegd worden tot een prijsextensie. Zou moeten bijvoorbeeld, ASUS laptops, HP laptops, etc. samen in 1 feed regel komen. Hiervoor gebruiken we de group items functie.
Daarnaast hebben we een veld aangemaakt genaamd item_header_list_length om te controleren dat elke prijsextensie minimaal 3 items heeft, aangezien dit het minimale aantal elementen wat moet worden meegenomen in een prijsextensie. Aangezien alle item_headers en item_descriptions al gefilterd zijn op te lange teksten zijn de overgebleven prijsextensie elementen allemaal bruikbaar.
Stap 16: gebruik de berekende item_header_list_length om alle lijsten met minder dan 3 items in de lijst met item_headers te verwijderen.
Stap 17: de tweede stap in de magie is het omschrijven van lijsten naar losse velden in de item. Dus de eerste header in de headerlijst naar het veld item_1_header, de tweede header in de headerlijst naar het veld item_2_header, etc. Schematisch ziet dit proces er ongeveer zo uit:
De regel in Channable ziet er als volgt uit. Maak deze regel aan voor alle onderdelen van de prijsextensie (item_header, item_description, item_price, item_url) en herhaal de slice stap voor element 1 tot en met 8 in iedere respectievelijke lijst.
Elke regel in de feed bevat nu 1 prijsextensie met minimaal 3 en maximaal 8 prijsextensie elementen.
Stap 18: Je bent nu klaar met de regels! Je kan nu verder naar finalize in Channable. Hier geef je aan welke velden moeten worden meegenomen in de export feed. Dit betreft:
- Type, price_qualifier, language
- Item_1_header t/m 8
- Item_1_description t/m 8
- Item_1_price t/m 8
- Item_1_url t/m 8
- Veld voor het matchen van de feed.
Het laatste en belangrijkste veld is het veld dat de basis vormt voor het koppelen van de prijsextensie feed aan de hoofdfeed. In ons geval is dat categorie. We willen dat elke item van een bepaalde categorie een prijsextensie van die categorie bij zich draagt.
Controleer hierna in de preview hoe de prijsextensie feed er uit ziet:
Stap 19: Ga naar de settings en activeer de feed. Vervolgens kan de link in de preview stap gebruikt worden om de feed te koppelen aan de hoofdfeed.
Stap 20: Ga naar setup en combineer imports. Voeg hier de prijsextensie feed csv toe als import.
Gebruik vervolgens in de mapping de mogelijkheid om meerdere items te combineren op basis van een gemeenschappelijk element (in ons geval categorie).
Stap 21: Ga naar items en geniet van het eindresultaat. Ieder item in jouw feed draagt nu een prijsextensie bij zich:
De prijsextensie toepassen in dynamische campagne creatie
Aangezien de prijsextensie feature in Channable momenteel nog in development is, kun je nog niet meteen aan de slag. Wel kun je ons vorige blog over dynamische prijsextensies gebruiken om te kijken hoe je jouw prijsextensie feed in Google Ads kan inladen. Zo gauw de prijsextensie feature wel beschikbaar is, zal het vergelijkbaar zijn aan hoe momenteel sitelinks worden aangemaakt in de dynamische campange creatie.
Alles wat jij op de dag van de prijsextensie feature release zal hoeven te doen in Channable is het koppelen van de juiste velden in de feed (item_headers, item_descriptions, item_prices, item_urls) aan de respectievelijke prijsextensies & velden.
Ready voor de tool van morgen
Met het bovenstaande stappenplan ben jij helemaal ready voor de Channable tool van morgen. Of Channable nou een prijsextensie released als feature of een call out extensie. Jij kan alles dynamische aanmaken door een csv feed te maken en te hercombineren met jouw hoofdfeed. Op deze manier kun jij jouw hoofdfeed eindeloos verrijken met informatie om zo jouw dynamische campagne creatie nog effectiever in te zetten.
Mock-up van de front end design van de prijsextensie creatie in Channable campagne creatie
Mocht je nog vragen hebben over het bovenstaande stappenplan, tegen problemen aanlopen of opzoek zijn naar nog meer creatieve manieren om gebruik te maken van campagne & feed optimalisatie tools als Channable. Neem dan contact op met ons op.