data-zinevu | placeholder-element | geen waarde nodig | het element blijft een gewoon element | Maakt van een element een widget, zodra w.js één keer op de pagina staat. Placeholders die later verschijnen worden vanzelf gemount. |
data-zvVerplicht. Zonder dit tekent de widget niets en zegt waarom in de console. | alle behalve book en appointment | 16–40 letters en cijfers · auto | de widget tekent niets — behalve een form-placeholder op je funnelpagina, die de slug uit zv_form in het adres neemt | De slug van het aanvraagformulier. Te vinden in het portaal bij het formulier zelf. auto (of weglaten) alleen op een form-placeholder op je eigen funnelpagina. |
data-widget | alle | size · price · match · question · cta · form · book · appointment · chat | size | Welke widget getekend wordt. |
data-url | alle · verplicht bij book en appointment | volledige URL | de widget vraagt zelf het adres op | Waar de bezoeker heen gaat. Ook het vangnet als de instellingen niet opgehaald kunnen worden, en bij cta en form scheelt het een netwerkaanvraag. |
data-mount | alleen losse scripttag | CSS-selector | de plek van de scripttag zelf | Zet de widget in een bestaand element. Matcht de selector niets, dan tekent de widget niet en zegt waarom in de console. |
data-locale | alle | auto · nl · en · de · fr · tr | losse scripttag: nl · placeholder: auto | De taal van de widget én van de funnel waarnaar hij doorstuurt. Met auto leest de widget in welke taal je pagina staat — een taalwisselaar, WPML, Polylang, GTranslate, Google Translate — en verandert mee zodra de bezoeker wisselt. Welke talen er echt zijn, bepaalt de dealer (portaal → instellingen → aanvraagformulieren): vraagt je pagina om een taal die niet aanstaat, dan komt de widget terug in een taal die dat wel is. |
data-target | alle | 3d · onepage · quick | form · een placeholder op je funnelpagina volgt zv_target | Stuurt door naar de 3D-configurator, met onepage naar hetzelfde formulier met alle vragen op één pagina, of met quick naar de snelle offerte (maat, budget, gegevens — beantwoord met pakketten binnen het budget), in plaats van naar het vlakke stappenformulier. Draait het formulier geen snelle offerte, dan gaat quick naar het gewone formulier. |
data-ref | alle | eigen tekst, max 120 tekens | geen | Jouw eigen kenmerk voor dit bezoek. Het reist mee naar de aanvraag en komt terug op de zinevu:lead-gebeurtenis, zodat je pagina weet wélk bezoek een aanvraag werd — iets wat wij je niet vertellen, omdat wij over de bezoeker niets zeggen. Wij lezen het nooit, we dragen het alleen. Staat het er al op (een knop eerder in de route gaf het mee), dan blijft dat eerste kenmerk staan. |
data-step | alle · vereist bij question | stapsleutel | de funnel opent op stap één | Opent de funnel bij een bepaalde vraag. Bij question bepaalt het welke vraag de widget toont. |
data-theme | alle | dark | licht | Donkere variant, voor een donkere sectie op je site. |
data-accent | alle | #rrggbb | de accentkleur van het formulier | Overschrijft de accentkleur. Alleen zes hexcijfers; de tekstkleur op de knop wordt zelf berekend, dus een lichte huisstijlkleur krijgt zwarte letters in plaats van onleesbaar wit. |
data-layout | alle | hero | card | Zet naast de kaart een tweede kolom voor een kop, een uitleg en een geruststelling. Alleen zichtbaar als je ook data-title, data-intro of data-note meegeeft. |
data-title | alle | vrije tekst | de standaardtekst | De kop boven de widget. |
data-label | alle | vrije tekst | de standaardtekst | Het opschrift van de knop. |
data-intro | layout hero | vrije tekst | geen tweede kolom | De zin die de bezoeker overhaalt om de widget te gebruiken. |
data-note | layout hero | vrije tekst | — | De kleine regel eronder: levertijd, vrijblijvend, garantie. |
data-open | alle behalve form · bij book en appointment alleen drawer en modal | navigate · page · drawer · modal | navigate | Waar de funnel opent: het funnel-adres in hetzelfde tabblad, je eigen funnelpagina (met data-page), een paneel van de zijkant of een gecentreerd paneel. Een paneel is bewust nooit de standaard. Zie Waar de funnel opent. |
data-page | data-open="page" | pad of URL van je funnelpagina | data-open valt terug op navigate, met een melding in de console | Je eigen pagina met een form-placeholder erop. De bezoeker gaat erheen met zijn antwoorden, zv_form en zv_target in het adres. |
data-modal | zoals data-open | 1 | uit | De oude schrijfwijze van data-open="modal". Werkt nog steeds; staat data-open er ook, dan gaat dat voor. |
data-mode | appointment · cta | inline · popup · floating (cta: floating) | appointment: inline · cta: een kaart met knop | Hoe de widget verschijnt: in de pagina, als knop die een paneel opent, of als zwevende knop rechtsonder die in een footer op elke pagina kan staan. Een zwevende afsprakenknop opent een paneel; een zwevende cta volgt data-open. |
data-position | chat | right · left | rechtsonder | In welke hoek de chatknop staat. Met data-side en data-bottom (pixels, standaard 20) schuif je hem weg van iets anders dat al in die hoek staat — een cookiebalk of een terug-naar-boven-knop. |
data-height | form · book en appointment in de pagina | auto · fill · getal (px) · CSS-lengte | auto — schermhoog bij data-target="3d" | auto groeit mee met de funnel. fill maakt het kader schermhoog, min data-offset. Een vaste hoogte blijft staan, ook als de funnel zelf om schermhoog vraagt. |
data-offset | form · book en appointment in de pagina | getal (px) | 0 | De hoogte van de vaste header van je site. Een schermhoog kader wordt zoveel korter, en als de funnel naar zijn kader scrolt, stopt dat zoveel onder de bovenrand. |
data-name · data-email · data-postcode | appointment | vrije tekst | leeg | Vult de agenda alvast in met wat je eigen pagina al weet, bijvoorbeeld van een ingelogde klant. Er wordt niets van de bezoeker uitgelezen. |
data-ar | alleen met data-target="3d" | 1 | uit | Opent de 3D-configurator meteen in AR, zodat de bezoeker het product op ware grootte in zijn eigen tuin ziet. Bij het vlakke formulier genegeerd. |
data-shop | match | URL met {width} {height} {panels} {pane_width} {pane_height} | geen webshoplink | Waar een bezoeker met een voorraadmaat naartoe mag. Verschijnt alleen als de maat écht uit voorraad te bouwen is. |
data-shop-label | match | vrije tekst | de standaardtekst | Het opschrift van die link. |
data-cart | match | URL op je eigen domein | geen winkelwagenknop | Je eigen eindpunt dat de maat ontvangt en antwoordt waar de bezoeker heen moet. Alles wat bepaalt of het artikel mag bestaan en wat het kost, gebeurt daar — server-side, op jouw domein. |
data-product | match | product-id | geen winkelwagenknop | Welk artikel je eindpunt in de wagen legt. Zonder data-cart én data-product verschijnt de knop niet. |
data-origin | alle | origin, zoals https://app.zinevu.com | het adres waar w.js vandaan komt (anders https://app.zinevu.com) | Geavanceerd: haalt instellingen, richtprijs en maatcheck op bij een andere API-origin. Normaal laat je dit weg. |