# Installing library through GTM

GTM allows you to easily add different kind of services, javascript codes or just custom HTML to your website.

1. Register your GTM account if you did not do that yet.&#x20;
2. Create new tag.&#x20;
3. Choose tag type, and select Custom HTML.&#x20;
4. Paste in the JavaScript library.

```markup
<script>
    !function(e,n,s,t,o){e.sarepush=e.sarepush||function(){(e.sarepush.q=e.sarepush.q||[]).push(arguments)},
    t=n.createElement('script'),o=n.getElementsByTagName('script')[0],
    t.async=1,t.src='//push-cdn.s3-eu-west-1.amazonaws.com/<account-id>/<your-website-uid>/library.min.js',
    o.parentNode.insertBefore(t,o)}(window,document);
</script>
```

{% hint style="info" %}
Remember that each website has a slightly different code. The difference is website unique identifier in the link to the library.
{% endhint %}

After the code is inserted, you have to add Service Worker file to the root folder of your website. To do so, go to website management in our platform and download the following zip by click on Download Service Worker.

![](/files/-Lshipm-gYIW-e1BqTxt)

Finally unpack zip and upload sarepush-worker.js file to the top-level root of your website. Depending on how your website is hosted, you may need to contact administrator or developer to help you copy this file to your website.

If you are integrating SAREpush into a site with an existing service worker (like a PWA), you may have to merge service workers.

Directly from website management in our platform you can send a email message to your programmer with the manual by click on Send to developer.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://push-help.sare.pl/installation/how-to-install-library-through-google-tag-manager.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
