# Script Extensions

### How Does It Work?

Optional script extensions were created so you can extend Geoflow's initial functionality. The default script is kept lightweight by offering additional features through these extensions.

{% hint style="info" %}
**Developer Tip**: Send all the visitor data to an external source by adding the endpoint data attribute to the Geoflow \<script> tag; visit this page [here](https://developers.getgeoflow.com/geoflow-docs/feature/optional-settings/script-tag-data-attributes) for more information.
{% endhint %}

### How To Implement

| Attribute Name  | Attribute Value      | Which Page Element?       |
| --------------- | -------------------- | ------------------------- |
| data-extensions | See Extensions Table | \<script> Tag for Geoflow |

### Extensions

<table><thead><tr><th width="215">Extension Name</th><th width="183">Extension Variable</th><th>Extension Description</th></tr></thead><tbody><tr><td>Performance</td><td>performance</td><td>Analyze how your website performs for visitors around the globe by collecting Real User Monitoring (RUM) data.</td></tr><tr><td>Marketing Parameters</td><td>marketing-params</td><td>Automatically capture and log every URL parameter related to marketing within each form on your page.</td></tr></tbody></table>

You can enable more than one script extension by including a comma-separated list in the extensions data attribute on the Geoflow \<script> tag.

### Example

```html
<script data-extensions="performance" src="https://cdn.getgeoflow.com/beta/script.min.js" crossorigin="anonymous" fetchpriority="auto"></script>
```

### Browse The Extensions

{% content-ref url="script-extensions/performance" %}
[performance](https://developers.getgeoflow.com/geoflow-docs/feature/script-extensions/performance)
{% endcontent-ref %}

{% content-ref url="script-extensions/marketing-parameters" %}
[marketing-parameters](https://developers.getgeoflow.com/geoflow-docs/feature/script-extensions/marketing-parameters)
{% endcontent-ref %}
