Ingelogde klant
Eén bron voor wie er op je site is ingelogd: Nexym leest het zelf bij Shopify, en met een klein fragment bij Magento, Hyvä, Shopware en WooCommerce. De A/B-test en de klantherkenning gebruiken allebei dat ene antwoord.
Welke klant er is ingelogd, leest het embed-script op elke pagina op één manier. Twee onderdelen gebruiken dat ene antwoord:
| Wie | Wat het ermee doet | Wanneer |
|---|---|---|
| A/B-test met Ingelogde klanten aan | Houdt de groep bij de klant, zodat telefoon en laptop hetzelfde tonen | Alleen met toestemming voor statistieken |
| Klant herkennen | Koppelt de bezoeker aan de klant in de hub — op elke pagina, niet alleen bij het inloggen | Volgens je instelling bij Klant herkennen |
Via de herkenning weten ook de chat, segmenten en de klantcontext wie het is. Het klantnummer zelf wordt nergens bewaard: de server zoekt er de klant in de hub mee op, via het id dat je koppeling voor die klant kent.
Waar Nexym kijkt
Section titled “Waar Nexym kijkt”In deze volgorde; het eerste antwoord telt.
| Bron | Hoe | Zelf iets doen? |
|---|---|---|
Nexym.customer.set(id) |
Je eigen script zegt het, bijvoorbeeld na inloggen zonder dat de pagina herlaadt. Nexym.customer.set(null) bij uitloggen |
Ja |
window.nexymCustomer = { id: … } |
Het fragment hieronder, in je paginatemplate | Ja |
GA4 user_id in je dataLayer |
Ook customer_id, customerId, en user_data.email. Nooit uit een purchase: dat is de koper van een bestelling, vaak een gast |
Nee, als je dataLayer het al pusht |
| Shopify | Shopify zet het klantnummer zelf op elke pagina | Nee |
| Magento | Uit de klantgegevens die Magento in de browser bewaart, als de plugin hieronder het klantnummer daarin zet | De plugin |
Een gast geeft null of 0: dan is er niemand ingelogd. Een e-mailadres mag mee
({ id: …, email: … }); dan herkent Klant herkennen ook een klant
die nog niet uit je shop in de hub staat. De oude naam Nexym.experiment.customer(id) werkt
nog en doet hetzelfde als Nexym.customer.set(id).
Logt iemand in of uit, of logt er een ander account in, dan merkt het script dat op de
volgende pagina (of meteen, met Nexym.customer.set).
Het fragment per platform
Section titled “Het fragment per platform”Onder Beheer → Bezoekers & toestemming → Wat we meten, kaart Ingelogde klant, staan deze fragmenten met een kopieerknop.
// 1. Een plugin zet het klantnummer in Magento's klantgegevens (customer section data).// Die worden nooit mee-gecachet in de paginacache.namespace Nexym\Customer\Plugin;
use Magento\Customer\CustomerData\Customer;use Magento\Customer\Helper\Session\CurrentCustomer;
class CustomerSection{ public function __construct(private CurrentCustomer $current) {}
public function afterGetSectionData(Customer $subject, array $result): array { $id = $this->current->getCustomerId(); if ($id) { $result['nexym_id'] = (string) $id; }
return $result; }}
// 2. etc/frontend/di.xml:// <type name="Magento\Customer\CustomerData\Customer">// <plugin name="nexym_customer_id" type="Nexym\Customer\Plugin\CustomerSection"/>// </type>// 3. view/frontend/layout/default.xml: een Template-blok in before.body.end met// Nexym_Customer::customer.phtml:// <script>// require(['Magento_Customer/js/customer-data'], function (customerData) {// var customer = customerData.get('customer');// function tell(c) {// var id = c && c.nexym_id;// window.nexymCustomer = id ? { id: String(id) } : null;// if (window.Nexym && window.Nexym.customer) window.Nexym.customer.set(id || null);// }// tell(customer());// customer.subscribe(tell);// });// </script><!-- Dezelfde plugin, di.xml en layout als bij Luma, met dit template. Hyvä meldt de klantgegevens met het event private-content-loaded. --><script>window.addEventListener('private-content-loaded', function (event) { var c = (event.detail && event.detail.data && event.detail.data.customer) || {}; var id = c.nexym_id; window.nexymCustomer = id ? { id: String(id) } : null; if (window.Nexym && window.Nexym.customer) window.Nexym.customer.set(id || null);});</script>{% comment %} Niet nodig: Nexym leest Shopify's klantnummer vanzelf. Alleen als je thema dat heeft uitgeschakeld — layout/theme.liquid, voor </head>. {% endcomment %}<script> window.nexymCustomer = {% if customer %}{ id: {{ customer.id | json }} }{% else %}null{% endif %};</script>{# Resources/views/storefront/base.html.twig in je thema #}{% sw_extends '@Storefront/storefront/base.html.twig' %}
{% block base_body_script %} <script> window.nexymCustomer = {% if context.customer and not context.customer.guest %}{ id: {{ context.customer.id|json_encode|raw }} }{% else %}null{% endif %}; </script> {{ parent() }}{% endblock %}// functions.php van je (child)thema, of een kleine pluginadd_action('wp_head', function () { $id = get_current_user_id(); // 0 voor een gast echo '<script>window.nexymCustomer = '.($id ? wp_json_encode(['id' => (string) $id]) : 'null').';</script>';}, 1);<script> // In je paginatemplate, waar je weet wie er is ingelogd (null voor een gast): window.nexymCustomer = { id: 'KLANTNUMMER' };</script><script> // Of later, zodra je het weet — een shop zonder herladen: Nexym.customer.set('KLANTNUMMER'); // en Nexym.customer.set(null) bij uitloggen</script>Zie je het?
Section titled “Zie je het?”Op dezelfde kaart staat Gezien op je site: via welke bron het laatst een ingelogde klant langskwam, en wanneer. Het script meldt alleen de naam van de bron, nooit het nummer, en alleen van bezoekers bij wie het blijvende bezoekersnummer bewaard mag worden (toestemming voor statistieken). Nog niet gezien kan dus ook betekenen dat er deze week niemand met toestemming inlogde. In de A/B-test zie je bij Ingelogde klanten dezelfde bron.
Privacy
Section titled “Privacy”- Het script leest alleen wat je pagina al laat zien. Het bewaart in de browser alleen een controlegetal (nooit het nummer) in dit tabblad, en alleen waar het bezoekersnummer bewaard mag worden: zo merkt het dat iemand in- of uitlogde.
- De A/B-test stuurt het klantnummer alleen met toestemming voor statistieken naar Nexym. De server zoekt er de klant in de hub mee op en bewaart de groep bij die klant. Het nummer zelf wordt niet bewaard.
- Klant herkennen volgt zijn eigen instelling (statistieken of marketing).
- Vraagt een klant om zijn gegevens te wissen, dan gaan zijn A/B-groepen mee met Klant verwijderen.