Magento-data opslaan in databases en collecties
Met de Magento-integratie van Copernica kun je real-time gegevens uit je webshop gebruiken in opvolgacties. In veel gevallen wil je deze gegevens niet alleen direct gebruiken, maar ook opslaan in je database. Denk bijvoorbeeld aan herhaalaankoopcampagnes, productinteresses of segmentatie op orderhistorie.
In dit artikel laten we zien hoe je bestelinformatie kunt opslaan in collecties binnen een profiel. Dit is slechts één van de vele manieren om Magento-data te structureren en verwerken. Afhankelijk van je situatie en datamodel kun je ook andere keuzes maken, zoals het gebruik van een aparte database of andere typen opvolgacties.
Het voorbeeld in dit artikel is gebaseerd op het event Bestelling aangemaakt, maar de werkwijze is ook toepasbaar op andere events zoals een verlaten winkelwagen. Zie dit als een basisaanpak die je naar wens kunt uitbreiden met eigen voorwaarden, extra controles, directe mailings of alternatieve flows.
Stap 1: Structuur inrichten
Om gegevens van bestellingen goed op te slaan, maak je eerst een logische structuur aan in je database. In dit voorbeeld gebruiken we collecties binnen een database zodat je meerdere bestellingen aan één klantprofiel kunt koppelen. Hiervoor maak je bijvoorbeeld:
- Een collectie voor orders, met velden zoals ordernummer, status, totaalbedrag, besteldatum en verzendadres.
- Een collectie voor orderitems, met velden zoals productnaam, SKU, prijs per stuk, aantal, product-URL en afbeelding.
Zorg ervoor dat je in beide collecties het ordernummer opslaat. Zo kun je de producten in de orderitems-collectie later koppelen aan de bijbehorende bestelling in de orders-collectie.
Stap 2: Triggergegevens gebruiken
Wanneer een opvolgactie wordt geactiveerd door een Magento-event zoals Bestelling aangemaakt, worden de bijbehorende gegevens automatisch beschikbaar via de {$trigger}-variabele. Die kun je gebruiken in opvolgacties en e-mailtemplates.
Enkele voorbeelden:
Het unieke ID van de bestelling: {$trigger.entity_id}
De status van de bestelling: {$trigger.status}
Array met alle bestelde producten: {$trigger.items}
Wil je precies weten welke gegevens er beschikbaar zijn per event? Bekijk de Magento-events.
Stap 3: Opvolgactie instellen
Nu de collecties zijn aangemaakt en je weet welke gegevens beschikbaar zijn, stel je een opvolgactie in om de data automatisch op te slaan.
Bij elk blok waarin je zoekt naar een profiel of subprofiel, zorg je dat je de optie nieuw profiel/subprofiel aanmaken activeert als er geen match is. Zo weet je zeker dat de gegevens altijd worden opgeslagen.
- Maak een nieuwe opvolgactie aan in de automatiseringsmodule.
- Stel de scope in op Integratie en selecteer de juiste Magento-integratie.
- Voeg het startblok Bestelling aangemaakt toe. Deze trigger vind je in de triggergroep Events vanuit webshops (bestellingen).
- Voeg het blok Zoek naar een profiel/subprofiel toe en controleer of er in de database een profiel bestaat waarbij het e-mailadres gelijk is aan het e-mailadres uit de bestelling: {$trigger.customer_email}.
Na dit profielblok splits je de opvolgactie in twee paden: één om de ordergegevens op te slaan, en één om de individuele orderitems uit de bestelling op te slaan.
Orders opslaan
- Voeg een tweede Zoek naar een profiel/subprofiel-blok toe en zoek binnen de ordercollectie (zoekbereik: huidig profiel) op ordernummer {$trigger.entity_id}.
- Voeg daarna een blok Velden en interesses bijwerken toe om de orderinformatie op te slaan, zoals:
Status: {$trigger.status} Totaalbedrag: {$trigger.grand_total} Straat: {$trigger.shipping_address.street}
Orderitems opslaan
- Maak vanuit het zoek naar een profiel/subprofiel-blok uit stap 4 een tweede pad naar een herhaalblok waarmee je door de {$trigger.items}-array loopt. Koppel de iteraties aan een variabele, bijvoorbeeld item.
- Na het herhaalblok voeg je opnieuw een blok Zoek naar een profiel/subprofiel toe en zoek of de combinatie van de sku ({$item.sku}) en het ordernummer ({$item.order_id}) bekend is binnen het huidige profiel van de orderitems-collectie.
- Voeg daarna het blok Velden en interesses bijwerken toe om de
itemgegevens op te slaan, zoals:
Aantal: {$item.qty_ordered} Productnaam: {$item.name} Afbeelding: {$item.product.image}
Belangrijk
- Zoekbereik op huidig profiel betekent dat Copernica alleen zoekt binnen de collecties van het profiel dat je eerder in de opvolgactie hebt gevonden of aangemaakt.
- In het blok Zoek naar een profiel/subprofiel kun je instellen met welk profiel of subprofiel je verdergaat in de rest van de opvolgactie. Standaard is dit het oorspronkelijke profiel, maar bij het opslaan van orders en orderitems wil je meestal verder met het gevonden of aangemaakte subprofiel. Kies hiervoor een van de beschikbare opties, zoals eerst aangemaakte, laatst aangemaakte of laatst gewijzigde subprofiel op basis van je zoekcriteria.
Meer mogelijkheden
Door bestelgegevens op te slaan, kun je deze later gebruiken voor gerichte opvolging. Enkele voorbeelden:
- Mailings op basis van bestelgegevens, zoals een vervolgmail voor een specifiek product
- Store-specifieke flows bij meerdere winkels, op basis van {$trigger.store_id}
- Herhaalaankoopcampagnes op basis van vorige bestellingen
- Segmentatie op productniveau, zoals iedereen die product X eerder heeft gekocht
Met deze structuur leg je alle relevante orderinformatie vast binnen het profiel. Zo bouw je een rijke dataset op voor toekomstige, datagedreven campagnes.