Dennis Vinkler KjærgaardAI, automatisering og specialbyggede webapps

Magento AI: 8 opgaver jeg har automatiseret, og 3 jeg har droppet

Dennis Vinkler Kjærgaard11 min læsningai
Magento AI: 8 opgaver jeg har automatiseret, og 3 jeg har droppet

Hvad bruger jeg AI til i min egen Magento-webshop? Otte opgaver, bl.a. Meta- og Google Ads på autopilot, og tre jeg har droppet igen.

Mange sælger "AI til e-commerce" lige nu, og det meste lyder ens. Her er i stedet en liste over, hvad der kører i min egen Magento-webshop, og hvad jeg har lagt fra mig igen.

Jeg har drevet webshop siden 2007. Det hele nedenfor bor i en intern app, jeg selv har bygget og kalder Magento AI. Den er lavet i Next.js og Supabase, bruger OpenAI's modeller og sidder ved siden af Magento 2. Hver nat henter den en kopi af ordrer, kunder og katalog fra Magento. Den kopi læser appen fra, og når den skal ændre noget i shoppen eller i annoncerne, sker det gennem nogle få, bestemte veje.

I 2026 har vi indtil videre 47 % flere ordrer og 18 % mere omsætning end samme periode sidste år. Jeg påstår ikke, at det skyldes AI. Der er sket andre ting på et år. Jeg skriver heller ikke, hvor mange timer det sparer, for det har jeg ikke målt.

De 8 opgaver jeg har automatiseret

1. Meta-annoncer på autopilot

Siden 9. oktober styrer Magento AI selv vores kampagne på Meta til folk, der kender shoppen i forvejen. Hver nat måler den hver annonce. Koster et køb mere end den grænse, jeg har sat, går annoncen på pause, og den næste godkendte annonce tager pladsen.

Målingen er den vigtigste del. Metas egen optælling ser kun omkring halvdelen af vores ordrer. Derfor kobler appen hvert køb til den betalte ordre i Magento ud fra annoncens kode i linket. Så er både antallet af køb og ordrens størrelse rigtige, og det er dem, autopiloten dømmer efter.

Den første nat med autopiloten slået til satte den to annoncer på pause og startede tre nye. Den ene havde solgt fint, men hvert køb kostede knap 4 % mere end grænsen. Den anden havde Meta selv næsten holdt op med at vise, og den havde ikke solgt noget.

Meta-autopiloten fra opgave til pause

Nye annoncer kommer fra min Grok-bot. Hver mandag skriver appen en opgave til den med de varegrupper, der sælger, de billedtyper, der mangler at blive testet, priser og fotos fra kataloget og listen over påstande, vi ikke må bruge. Opgaven skrives af almindelig kode, ikke af en sprogmodel. Billederne er vores egne produktfotos sat ind i faste skabeloner. Når annoncerne kommer tilbage, tjekker appen hvert kronebeløb mod kataloget og ser efter, at landingssiden findes. Derefter godkender jeg hver annonce med ét klik eller sender den tilbage med en kommentar. Af den første batch afviste jeg 7 ud af 10.

Autopiloten må pause og starte annoncer. Den må ikke røre budget, annoncesæt eller målgrupper. Den stopper aldrig den sidste aktive annonce uden en afløser, og alt, den gør, kan fortrydes. Fortryder jeg en pause, prøver den ikke igen de næste 14 dage.

Udført-listen i Magento AI: det autopiloten har gjort, med Fortryd ud for hver handling. Beløb er sløret

2. Google Ads: forslag hver nat og klikpriser, der flytter sig selv

Hver nat gennemgår appen søgetermerne fra de sidste 90 dage. Har en søgeterm givet mindst to køb uden at være et søgeord, foreslår den at tilføje den. Har den fået mindst ti klik uden et eneste køb, foreslår den at udelukke den. Kerneord som "pokal" udelukker den aldrig. Forslaget står i køen med én sætning om, hvad der sker, og Godkend skriver det direkte til Google Ads. Lige før læser appen feltet i Google Ads igen. Har jeg rettet noget i hånden imens, overskriver den det ikke.

Klikpriserne er næste skridt. Hver nat regner appen et bud for hvert søgeord i vores kampagne med eksakte søgeord. Målet er førstepladsen på de søgeord, der sælger, uden at et køb koster mere, end varen kan bære. Et søgeord, der har bevist, at det sælger, må koste mere end et, der ikke har.

Rammerne er faste. Buddet flytter sig højst 20 % ad gangen, der går mindst syv dage mellem to ændringer på samme søgeord, og der laves højst ti ændringer pr. nat. Efter syv dage tjekker appen, om en hævning gav en bedre placering. Gjorde den ikke det, ruller den hævningen tilbage af sig selv.

Siden 8. oktober har klikpriserne kørt i skygge. Appen regner og viser, hvad den ville have gjort, men skriver ikke til Google Ads endnu. Jeg slår den til, når jeg har set en uges planer. Dagsbudgetter og kampagner kan appen hverken foreslå eller ændre. Den funktion findes ikke.

Klikpris-fanen i Magento AI med søgeord og beløb sløret

3. Produkttekster og metadata, med mig som godkender

Siden juni har appen foreslået produktbeskrivelser, meta-titler og metabeskrivelser til produkter, kategorier og CMS-sider. I dag har over 99 % af de aktive produkter en metabeskrivelse.

Hvert forslag lander i en kø, og jeg læser det, før det bliver skrevet til Magento. Lige før skrivningen henter appen den nuværende tekst fra Magento og gemmer den. Kan den ikke hente den, skriver den ingenting, for så er der ingen Fortryd. Og Fortryd er der på hvert eneste felt.

Det interessante er, hvor ofte jeg siger nej. Jo mere konkret varen er, jo bedre rammer AI'en. En pokal har mål, materiale og graveringsmuligheder at skrive ud fra. En side om levering eller om firmaet kræver, at man ved noget, der ikke står i data, og der gætter modellen.

Andel af AI-forslag jeg har afvist, fordelt på type

4. En godkendelseskø, der siger, hvad et klik gør

Alt, der venter på mig, står i én kø og har en farve. Grøn rører ikke shoppen, fx et udkast til et opslag. Gul skriver til Magento eller Google Ads eller sender noget ud af huset. Rød er pris, fragt, checkout og sikkerhed. Dem udfører systemet ikke selv. En rød post betyder, at jeg skal gøre noget.

Hver post har én sætning om, hvad der sker, hvis jeg trykker Godkend. Den sætning kom til i oktober, fordi jeg holdt op med at bruge køen, da det var uklart, hvad knapperne gjorde. Afviser jeg noget, kan jeg skrive hvorfor, og grunden bliver gemt. Det autopiloten gør af sig selv, står under "Udført" med en Fortryd-knap.

Den del af systemet, der retter i eksisterende sider, har desuden en fast liste i koden over de felter, den må skrive til: navne, beskrivelser og metadata. Priser, fragt og checkout står ikke på listen. Så kan hverken jeg i en travl stund eller en fremtidig agent ændre dem den vej.

Godkendelseskøen i Magento AI med produktnavne og beløb sløret

5. Kundemails efter købet

Jeg har bygget vores egne mails efter købet i stedet for at betale et system pr. kontakt. Hvorfor, står i indlægget om mit eget email-flow. De har kørt siden midten af juli:

  • Anmodning om anmeldelse 7 dage efter købet.

  • Påmindelse før næste sæson, knap et år efter købet. Klubber køber tit til samme turnering hvert år.

  • "Send os jeres billeder" omkring tre uger efter købet, når præmieoverrækkelsen typisk er overstået. Den har kørt siden september.

Et cron-job kører hver nat. Det henter nye ordrer, lægger mails i kø og sender dem. Åbninger og klik kommer tilbage via webhook, og afmeldinger og afviste adresser havner på en blokeringsliste, der tjekkes før hver afsendelse.

Det bedste, jeg har lært her, kom fra at tælle. Omkring hver fjortende sæsonpåmindelse gik til en kunde, der allerede havde bestilt igen. Nu springer mailen kunder over, der har bestilt inden for de sidste 150 dage. Lige nu tester jeg også, om påmindelsen virker bedre tre uger tidligere. Halvdelen af ordrerne får den på dag 329, resten på dag 350, og reglen for, hvornår jeg vælger vinderen, skrev jeg ned, før testen startede. Svaret kommer omkring nytår.

6. Et værn mod AI-rester i teksterne

I august fandt jeg to rester fra Gemini, [cite: 1, 9] og [cite: 1, 5, 12], midt i en produktbeskrivelse, der var live på shoppen. Teksten var sat ind manuelt. Appen havde aldrig skrevet til det felt. Jeg fjernede markørerne og skannede hele kataloget for femten lignende mønstre. Det var det eneste fund.

Fejlen kom altså ikke fra appen. Alligevel renser appen nu den slags rester ud, før den skriver tekst til Magento, både fra Claude, Gemini og ChatGPT. Den manuelle vej ind i kataloget er ikke den eneste, og en markør er billig at fjerne, men dyr at opdage.

7. Overvågning, der giver besked, når noget går i stykker

  • Oppetid: Hvert kvarter tjekker appen, at de vigtigste sider i shoppen virker. Fejler en side, tjekker den igen et minut senere, før den sender en mail. Det kom til, efter at et kort netværkshik gav en falsk "shoppen er nede"-alarm midt om natten.

  • Sikkerhed: Hver nat tjekker den, om Magento og pakkerne under den mangler sikkerhedsopdateringer. Første kørsel fandt kendte huller, som ingen havde opdaget. Et fund lukkes kun, når næste tjek ikke længere finder det. Et klik kan ikke lukke det.

  • Fejl: Fejl fra Magentos logs (hvis en kunde f.eks oplever en fejl) og fra appen samles ét sted, og nye fejl bliver mailet.

  • Nye varer: Efter publicering tjekker appen, at varen har en side, kan findes i søgningen, er med i Google Shopping-feedet og har pris og lager.

Det er ikke avanceret AI. Det er almindelig drift, og det er det, jeg ville savne først. Man sover bare bedre når man altid ved, at alt kører som det skal og bliver opdateret automatisk.

8. Nye produkter, graveringer og dagens overblik

  • Nyt produkt: Vi tager et foto af varen med telefonen og vælger produkttype, og systemet foreslår en skabelon og et varenummer. Baggrunden på fotoet bliver fjernet, AI'en skriver teksten, og hver størrelse får sin egen pris. Det hele vises som preview, før det bliver publiceret. Varen går live med det samme, så al kontrollen ligger før knappen.

  • Graveringsliste: Magento sender graveringsordrer til appen via webhook, så graveringsteksterne står samlet i stedet for at skulle findes i hver ordre.

  • Dagens overblik: Én side med det, der kræver mig i dag.

De 3 jeg har droppet eller ikke fået til at virke

1. Mail om forladt kurv

Det er den mail, alle starter med. Hos mig blev den den svageste. En mail om forladt kurv er markedsføring, og efter markedsføringsloven kræver den samtykke. Appen sender den derfor kun til kunder, der er tilmeldt nyhedsbrevet. Samtidig kender Magento kun mailadressen på kurven, hvis kunden er logget ind, og næsten alle vores kunder handler som gæst. Resultatet er en håndfuld mails, og det giver ingenting.

I stedet har kurven og kassen nu en lille boks: "Skal kurven godkendes af en anden? Send den på mail." Mange foreninger skal have et køb godkendt af kassereren, før de betaler. Her beder kunden selv om mailen, så den kræver ikke samtykke.

2. En tredjeparts MCP-server til Magento

Jeg havde installeret en tredjepartsserver, der skulle give AI-agenter direkte adgang til Magento. Den 13. september slettede jeg den. Den kørte ingen steder, sikkerhedstjekket fandt 14 sårbarheder i dens afhængigheder, og de data, jeg brugte, lå allerede i appens egen kopi. Det er en ekstra indgang til shoppen, som jeg ikke bruger, og så skal den ikke stå der.

3. AI-billeder og Facebook-opslag

I juni lod jeg appen foreslå eksempelbilleder af gravering, ekstra brugsbilleder og Facebook-opslag om de bedst sælgende varer. Jeg brugte ikke et eneste af dem. Billederne lignede ikke de rigtige varer godt nok, og et produktbillede, der viser noget andet, end kunden får, er værre end intet billede. Opslagene lød som alle andres. Det er grunden til, at annoncerne i dag bygger på vores egne fotos. Grok Bot laver selv alle vores Meta ads kreativer.

Hvad har de til fælles?

  • Maskinen må selv det, der er let at fortryde. En annonce på pause eller et bud, der flytter sig 20 %. Tekster, nye annoncer og nye søgeord godkender jeg, og priser, budgetter og målgrupper rører ingen autopilot.

  • Det bliver målt i egne tal. Ikke i det, Meta eller Google selv tæller.

  • Det bor ét sted. Magento AI i stedet for fem abonnementer og fem logins.

  • Jeg ejer koden. Vil jeg ændre noget, gør jeg det selv.

Hvad Magento AI selv må, hvad der kræver mit klik, og hvad ingen autopilot rører

De tre, jeg droppede, fejlede på hver sin måde. Én nåede næsten ingen kunder, én åbnede en dør til shoppen, jeg ikke havde brug for, og én lavede noget, jeg ikke ville stå inde for.

Hvor skal du starte?

Start ikke med AI. Skriv ned, hvad du gør igen og igen i din drift, og vælg én lille opgave, hvor en fejl er billig. Produkttekster med en godkendelse imellem er et godt sted at starte, fordi du selv ser alt, før det går live. Og start med varerne, ikke med de generelle sider. Det er dér, AI'en har mest at skrive ud fra.

Autopilot på annoncer kommer bagefter. Den kræver, at du kan koble et køb til en rigtig ordre, ellers dømmer den efter tal, der ikke passer.

Vil du se, hvordan jeg arbejder med det for andre webshops, kan du læse mere om AI til webshop. Det er den samme tilgang, som kører i min egen shop.

Skal vi se på din webshop?

Skriv en kort besked om, hvad der tager tid hos dig, så giver jeg en ærlig vurdering af, hvad der giver mening som første skridt. Også hvis svaret er, at du ikke skal bruge AI til det.

kontakt@denniskjaergaard.dk