PS PrestaShop Beginner

DataFirefly Price Alert: volledige gids

Installatie, configuratie, meldingsmodi, cron, conversietracking en probleemoplossing van de module voor prijsverlagingsmeldingen voor PrestaShop 8 en 9.

Bijgewerkt Moduleversie 1.0.3

Overzicht

DataFirefly Price Alert voegt een melding bij prijsverlaging toe aan uw PrestaShop 8- of 9-winkel. Uw bezoekers schrijven zich in vanaf de productpagina (met of zonder klantaccount), kiezen tussen twee modi, elke verlaging of doelprijs, en ontvangen een e-mail zodra de prijs zakt. Elke bestelling die door een genotificeerde abonnee wordt geplaatst, wordt automatisch als conversie toegeschreven, met de teruggewonnen omzet zichtbaar in het admindashboard.

Installatie

  1. Ga in de backoffice naar Modules → Modulebeheer → Een module installeren.
  2. Upload het bestand dfpricealert-x.x.x.zip.
  3. Klik op Installeren. De module maakt twee tabellen aan (df_pricealert_subscriber en df_pricealert_event), registreert zijn hooks en voegt het tabblad Price Alerts toe onder Catalogus.

Er is geen enkele Composer-afhankelijkheid nodig: de module bevat een autonome PSR-4-autoloader. PHP 8.0 minimaal.

Configuratie

Ga naar Modules → DataFirefly Price Alert → Configureren. De beschikbare instellingen:

  • Dubbele opt-in (AVG): standaard ingeschakeld. De abonnee ontvangt een bevestigingsmail en de melding wordt pas actief na zijn klik. Sterk aanbevolen voor AVG-naleving.
  • Standaard meldingsmodus: de vooraf geselecteerde modus op het formulier: elke verlaging of doelprijs. De klant kan altijd wisselen.
  • Positie van het formulier: displayProductActions (onder de aankoopknop) of displayProductAdditionalInfo (zone met aanvullende informatie).
  • Minimaal verlagingspercentage: negeer in de modus “elke verlaging” verlagingen kleiner dan N%. 0 = elke verlaging activeert.
  • Winkeliersdrempel: ontvang een e-mail wanneer een product N actieve abonnees bereikt. 0 schakelt uit.
  • Winkeliers-e-mail: ontvanger van bovenstaande melding (standaard: e-mail van de winkel).
  • Bewaartermijn (dagen): automatische opschoning van uitgeschreven/genotificeerde abonnees ouder dan N dagen. Standaard 180, 0 schakelt uit.

Werking aan klantzijde

Inschrijving

Het formulier is altijd zichtbaar op de productpagina. De klant voert zijn e-mail in en kiest:

  • Elke verlaging: hij wordt verwittigd bij de eerste korting onder de prijs die op het moment van de inschrijving werd getoond (onder voorbehoud van de geconfigureerde minimumdrempel).
  • Wanneer hij bereikt: hij voert een doelprijs in, verplicht lager dan de huidige prijs. De melding vertrekt pas wanneer de prijs tot dat niveau of eronder zakt.

Heeft het product varianten, dan wordt de geselecteerde combinatie automatisch vastgelegd, en bijgewerkt als de klant vóór het bevestigen van variant wisselt.

Bevestiging (dubbele opt-in)

Met de dubbele opt-in actief ontvangt de abonnee een bevestigingsmail. De melding blijft in de status pending tot de klik, en gaat daarna naar active. Zonder dubbele opt-in is de melding onmiddellijk actief.

Notificatie

Wanneer een in aanmerking komende verlaging wordt gedetecteerd, ontvangt de abonnee een e-mail met de doorgestreepte oude prijs, de nieuwe prijs, het kortingspercentage, het bespaarde bedrag en een directe link naar het product. Zijn status gaat naar notified: hij ontvangt geen andere e-mail meer voor dezelfde inschrijving.

Detectie van verlagingen: de drie triggers

De module detecteert prijsverlagingen via drie complementaire kanalen:

  1. Hook actionObjectProductUpdateAfter: vuurt bij elke productopslag in de backoffice. Dekt de handmatige prijswijzigingen met nul vertraging.
  2. Hook actionUpdateProductAttribute: vuurt bij het wijzigen van een variant. Dekt de prijswijzigingen per combinatie.
  3. CLI-commando bin/scan-prices.php: in een cron te hangen. Onmisbaar voor de geplande specifieke prijzen (specific prices op datum), die actief worden zonder enige hook te activeren.

De cron instellen

*/30 * * * * php /pad/naar/uw/winkel/modules/dfpricealert/bin/scan-prices.php --shop=1 >> /var/log/dfpricealert.log 2>&1

De parameter --shop is optioneel (anders de standaardwinkel). Het commando toont het aantal verzonden meldingen en de uitvoeringstijd.

Aanbevolen configuratie: laat de hooks actief (nul vertraging bij handmatige wijzigingen) en voeg de cron elke 30 minuten toe om de geplande promoties te dekken.

Conversietracking

Op de hook actionOrderStatusPostUpdate doorloopt de module elke regel van de bestelling en zoekt een abonnee in de status notified die overeenkomt met het drietal (e-mail van de klant, product-ID, variant-ID). Bij een match gaat de abonnee naar purchased en wordt de id_order geregistreerd.

De match accepteert ofwel de exacte variant, ofwel een generieke inschrijving (variant 0): producten zonder varianten en inschrijvingen op het “hoofdproduct” worden dus correct toegeschreven. De tracking werkt ook bij guest checkout, want de match gebeurt op e-mail.

Admindashboard

Het tabblad Catalogus → Price Alerts toont:

  • 6 KPI’s: actieve abonnees, genotificeerd, geconverteerd, conversiepercentage, gemiddelde toegestane verlaging, teruggewonnen omzet.
  • Producten met hoog potentieel: top 10 van producten op aantal actieve abonnees, met gemiddelde inschrijfprijs. Dit is uw lijst met prioritaire kandidaten voor een gerichte promotie.
  • Abonneelijst: filterbaar op status, e-mail en product, gepagineerd per 25 regels.
  • Acties: alle producten onmiddellijk scannen, oude vermeldingen opschonen, de volledige lijst naar CSV exporteren.

Levenscyclus van een abonnee

Elke inschrijving doorloopt de volgende statussen:

  • pending: ingeschreven, in afwachting van bevestiging (dubbele opt-in).
  • active: melding actief, bewaakt door de scans.
  • notified: verlagingsmail verzonden. Eindstatus behalve bij aankoop.
  • purchased: bestelling gedetecteerd na notificatie, conversie toegeschreven.
  • unsubscribed: uitschrijving via de link in elke e-mail.

Elke overgang wordt gelogd in de tabel df_pricealert_event (volledig auditspoor).

E-mails

Drie sjablonen, elk geleverd in FR/EN/ES/DE, in HTML + tekst:

  • confirm: dubbele opt-in-bevestiging met activeringsknop.
  • alert: verlagingsmelding: doorgestreepte oude prijs, nieuwe prijs in de kijker, besparing in euro’s en procenten, knop naar het product.
  • merchant: melding aan de winkelier wanneer een product de drempel aan actieve abonnees overschrijdt.

De e-mail vertrekt in de taal van de abonnee (die van de pagina op het moment van de inschrijving), met automatische terugval op het Engels als de taal niet beschikbaar is. De sjablonen zijn aanpasbaar in modules/dfpricealert/mails/<iso>/.

AVG

  • Dubbele opt-in per e-mail vóór activering (standaard ingeschakeld).
  • Cryptografische tokens van 32 bytes (random_bytes), uniek per abonnee, voor de bevestiging en de uitschrijving.
  • Uitschrijflink met één klik in elke e-mail.
  • Instelbare automatische opschoning van oude gegevens (dataminimalisatie).
  • Geen enkel gegeven verzonden naar diensten van derden, alles blijft op uw server.

Probleemoplossing

De meldingen vertrekken niet

  • Controleer of de abonnee in de status active staat (niet pending: de dubbele opt-in vereist de bevestiging).
  • Controleer de minimale verlagingsdrempel: een verlaging van 3% met een drempel op 5% activeert niet.
  • In de doelprijsmodus moet de prijs de doelwaarde bereiken of eronder zakken, niet alleen dalen.
  • Controleer voor de geplande specifieke prijzen of de cron draait (raadpleeg het logbestand).
  • Test de PrestaShop-e-mailverzending in het algemeen (Geavanceerde instellingen → E-mail → Test).

Fouten bij de inschrijving

De module logt alle fouten in Geavanceerde instellingen → Logboeken met het voorvoegsel [dfpricealert]. Het formulier toont bovendien de gedetailleerde serverfouten direct onder de knop (HTTP-status en uittreksel van het antwoord), wat de diagnose versnelt.

Het formulier verschijnt niet

  • Controleer de geconfigureerde positie: sommige thema’s implementeren displayProductAdditionalInfo niet; schakel over op displayProductActions.
  • Leeg de PrestaShop-cache (Geavanceerde instellingen → Prestaties).

De-installatie

De de-installatie verwijdert de twee tabellen van de module (abonnees en gebeurtenissen inbegrepen), de hooks, het admintabblad en alle configuratiesleutels. Exporteer vooraf de CSV als u de geschiedenis wilt bewaren.

Was deze pagina nuttig?

Loopt u nog vast? Neem contact op met support