# Aangepaste Scripts

Met aangepaste scripts kun je tracking- en analyticscode van derden in je webwinkel injecteren. Veelvoorkomende toepassingen zijn Google Analytics, Meta Pixel, livechat-widgets en conversietracking. Scripts worden pas geladen nadat een klant de cookietoestemmingsbanner heeft geaccepteerd, wat zorgt voor AVG-naleving zonder extra configuratie.

## Scripts bekijken

Open **Scripts** in de admin-zijbalk om al je aangepaste scripts te zien. De tabel toont de naam, status, laadpositie en aanmaakdatum van elk script.

![Scripts list](/features/scripts/scripts-list.png)

| Kolom         | Beschrijving                                                                                                              |
| ------------- | ------------------------------------------------------------------------------------------------------------------------- |
| Name          | Het beschrijvende label dat je aan het script hebt gegeven                                                                |
| Status        | **Active** (wordt in de webwinkel geladen) of **Inactive**. Actieve scripts tonen ook een badge "Requires cookie consent" |
| Load Position | Waar het script wordt geplaatst: **Head** of **Body**                                                                     |
| Created At    | Datum waarop het script is toegevoegd                                                                                     |

Je kunt **zoeken** op scriptnaam, **sorteren** door op kolomkoppen te klikken en **filteren** op status via het filtermenu.

## Een script aanmaken

Klik op **Add Script** in de rechterbovenhoek om het aanmaakformulier te openen.

![Create script form](/features/scripts/create-script.png)

### Status

| Veld   | Beschrijving                                                                                                                                                      |
| ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Active | Schakelaar om te bepalen of dit script in de webwinkel wordt geladen. Wanneer actief, wordt het op elke pagina uitgevoerd nadat cookietoestemming is geaccepteerd |

### Inhoud

| Veld           | Beschrijving                                                                                                                                                                                                                                          |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Name           | Een beschrijvend label om het script te herkennen (bijv. "Google Analytics")                                                                                                                                                                          |
| Script         | De volledige script-tag(s) om te injecteren. Plak de code precies zoals aangeleverd door de externe dienst                                                                                                                                            |
| Load Position  | **Head** plaatst het script in de HTML `<head>` -- gebruik dit voor scripts die moeten laden voordat de pagina wordt weergegeven (bijv. analytics). **Body** plaatst het aan het einde van de `<body>` -- beter voor widgets en niet-kritieke scripts |
| Execution Type | **Async** (standaard) laadt het script zonder de pagina te blokkeren. **Sync** laadt het voordat de pagina verder wordt weergegeven                                                                                                                   |

> **Belangrijk:** Het selecteren van **Sync** met **Head** als laadpositie toont een waarschuwing. Synchrone scripts in de head kunnen het renderen van de pagina blokkeren en de laadtijd negatief beinvloeden. Gebruik deze combinatie alleen als de externe aanbieder dit specifiek vereist.

Klik op **Create Script** om op te slaan.

## Een script bewerken

Klik op een scriptnaam in de lijst om het bewerkingsformulier te openen. De velden zijn identiek aan het aanmaakformulier. Klik op **Save** om je wijzigingen toe te passen.

## Bulkbewerkingen

Selecteer meerdere scripts met de selectievakjes en gebruik vervolgens de werkbalk om:

- **Activate** -- de geselecteerde scripts in de webwinkel te laden
- **Deactivate** -- de geselecteerde scripts uit de webwinkel te verwijderen
- **Delete** -- de geselecteerde scripts permanent te verwijderen

Alle bulkacties vragen om bevestiging voordat ze worden uitgevoerd.

## Hoe scripts in de webwinkel verschijnen

Aangepaste scripts worden niet direct geladen wanneer een klant je winkel bezoekt. Het platform bevat een ingebouwde **cookietoestemmingsbanner** die onderaan de pagina verschijnt voor nieuwe bezoekers.

- Als de klant op **Accept** klikt, worden alle actieve scripts geladen volgens hun laadpositie (head of body) en uitvoeringstype (async of sync)
- Als de klant op **Decline** klikt, worden er geen scripts geladen
- De keuze van de klant wordt onthouden in de browser voor toekomstige bezoeken

Dit betekent dat analytics en tracking pas worden geactiveerd na expliciete toestemming, waardoor je winkel voldoet aan de AVG en vergelijkbare privacywetgeving.

> **Tip:** Je hoeft geen eigen cookietoestemmingslogica toe te voegen in de scriptcode. Het platform regelt de toestemmingscontrole automatisch -- plak gewoon de onbewerkte script-tags die je van je analytics- of trackingdienst hebt ontvangen.
