Remove Grona
Use this page when you stop using Grona on a site, or move a site out of a workspace. Removing Grona means removing every piece of code that loads the runtime, then deciding whether to clear what it left in visitors’ browsers.
Remove the code
Section titled “Remove the code”-
Pause or delete the site’s campaigns in the Grona dashboard (or set them to
pausedthrough the Public API). Once Grona has republished your workspace’s script, usually within minutes, any page that still loads it stops showing changes. -
Remove the snippet from your templates: the
preconnectlink,antiflicker.jsandmain.js. If you installed it another way, remove it there instead:- Tag manager: delete or pause the tag that holds the snippet, then publish the container.
- Hosted platform: remove the code from the head or custom code setting where you pasted it. See the guide for your platform in the website integration overview.
- Shopify: turn off the Grona app embed in your theme editor, then save. See Shopify.
-
Remove the goal snippets. A custom-event goal snippet loads
main.jsby itself when it is missing, so a snippet left on a page keeps Grona running there. On Shopify, also delete the Grona custom pixel from Customer events. -
Remove your own
grona('track', …)calls and the queue stub that defineswindow.grona. Without the runtime they do nothing, but they are dead code. -
Remove the Grona entries from your Content-Security-Policy.
-
Reload a page with the developer tools open and confirm that no request goes to
cdn.grona.aiorapi.grona.ai.
What stays in visitors’ browsers
Section titled “What stays in visitors’ browsers”Grona writes no cookies. Everything it stores is first-party Web Storage on your own domain, listed in full on Consent and storage.
| Storage | Keys | After you remove the script |
|---|---|---|
sessionStorage |
grona_session_id, grona_session_start, grona_last_activity, grona_recent_pageviews, grona_this_visit, grona_cart_changed, grona_cart_reached |
Cleared by the browser when the visitor closes the tab. |
localStorage |
grona_client_data, grona_consent, grona_visit_note, grona_orders |
Stays until the visitor or the browser clears site data. The lifetimes in the storage table are enforced by the Grona script itself, so with the script gone nothing expires these keys. |
None of these keys is read by anything other than Grona, so leaving them has no effect on your site. If your privacy policy requires removal, add a short clean-up script to your pages for a while after you uninstall:
<script> try { ["grona_client_data", "grona_consent", "grona_visit_note", "grona_orders"].forEach(function (key) { localStorage.removeItem(key); }); } catch (e) {}</script>