@uptain-gmbh/uptain-pwa
| Install | |
|---|---|
npm install @uptain-gmbh/uptain-pwa |
|
| Latest Version: | 1.0.6 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Sep 30, 2026 |
| Links: | npm |
@uptain-gmbh/uptain-pwa
Uptain tracking and personalization module for PlentyONE / Plentyshop PWA (Nuxt 3).
Install the package, register the module, set environment variables — no patches to Plentyshop core files (settings.config.ts, settings-groups-imports, etc.) are required.
Requirements
- Plentyshop PWA / PlentyONE project (Nuxt 3)
@plentymarkets/shop-apiand@plentymarkets/shop-core(peer dependencies)- A working shop
.envwith PlentyONE API credentials (API_ENDPOINT,API_SECURITY_TOKEN,CONFIG_ID, …) — see the Plentyshop quickstart
Installation
Standard (inside apps/web)
cd apps/web
npm install @uptain-gmbh/uptain-pwa@1.0.6
Turborepo / monorepo (from repository root)
npm install @uptain-gmbh/uptain-pwa@1.0.6 --workspace=web
# or
cd apps/web && npm install @uptain-gmbh/uptain-pwa@1.0.6
Setup (manual steps after install)
1. Register the Nuxt module
In apps/web/nuxt.config.ts:
export default defineNuxtConfig({
modules: [
'@plentymarkets/shop-core',
'@plentymarkets/shop-module-mollie',
'@plentymarkets/shop-module-gtag',
'@uptain-gmbh/uptain-pwa',
// ...other modules
],
});
2. Environment variables
Copy the Uptain keys from this package’s .env.example into your shop apps/web/.env.
Minimum example:
# Required when tracking is enabled
NUXT_PUBLIC_UPTAIN_ID=YOUR_TRACKING_ID
NUXT_PUBLIC_UPTAIN_ENABLED=1
# Optional
NUXT_PUBLIC_UPTAIN_DEBUG_MODE=0
NUXT_PUBLIC_UPTAIN_COOKIE_GROUP=CookieBar.marketing.label
NUXT_PUBLIC_UPTAIN_CONSENT_MANAGER_VENDOR_ID=
NUXT_PUBLIC_UPTAIN_BLOCK_COOKIES_INITIALLY=false
NUXT_PUBLIC_UPTAIN_TRANSMIT_NEWSLETTER_DATA=false
NUXT_PUBLIC_UPTAIN_TRANSMIT_CUSTOMER_DATA=false
NUXT_PUBLIC_UPTAIN_TRANSMIT_REVENUE=false
| Variable | Required | Values | Description |
|---|---|---|---|
NUXT_PUBLIC_UPTAIN_ID |
Yes (when enabled) | string | Uptain tracking ID from the Uptain dashboard |
NUXT_PUBLIC_UPTAIN_ENABLED |
Recommended | 1 / 0 |
1 = load tracking script, 0 = off |
NUXT_PUBLIC_UPTAIN_DEBUG_MODE |
No | 1 / 0 |
1 = log data-* attributes to the browser console |
NUXT_PUBLIC_UPTAIN_COOKIE_GROUP |
No | string | Cookie-bar group key for consent (default: CookieBar.marketing.label) |
NUXT_PUBLIC_UPTAIN_CONSENT_MANAGER_VENDOR_ID |
No | string | Vendor ID for ConsentManager-specific integrations |
NUXT_PUBLIC_UPTAIN_BLOCK_COOKIES_INITIALLY |
No | true / false |
Block Uptain cookies until consent is given |
NUXT_PUBLIC_UPTAIN_TRANSMIT_NEWSLETTER_DATA |
No | true / false |
Transmit newsletter-related data |
NUXT_PUBLIC_UPTAIN_TRANSMIT_CUSTOMER_DATA |
No | true / false |
Transmit customer-related data |
NUXT_PUBLIC_UPTAIN_TRANSMIT_REVENUE |
No | true / false |
Transmit revenue / order value |
Shop credentials (API_ENDPOINT, API_SECURITY_TOKEN, CONFIG_ID, …) are not part of this package — configure them in the shop .env as usual for Plentyshop.
The module merges the Uptain keys into runtimeConfig.public automatically. You do not need to edit apps/web/app/configuration/settings.config.ts.
3. Ignore generated files
The module creates a symlink at build time:
apps/web/modules/uptain/runtime → node_modules/@uptain-gmbh/uptain-pwa/runtime
Add to your shop .gitignore:
# Uptain PWA module (generated on nuxt prepare / dev / build)
apps/web/modules/uptain
4. Restart the dev server
After install or .env changes:
npm run dev
The editor settings symlink is created when Nuxt starts (nuxt prepare / npm run dev).
5. Editor settings (merchant UI)
Merchants configure Uptain under:
SEO settings → Tracking & analytics → Uptain
Local development (editor UI)
In apps/web/.env (shop side — not published by this package):
NUXT_PUBLIC_IS_PREVIEW=1
Restart the dev server and open the shop in the browser.
Optional: if preview mode is driven by a PlentyONE cookie in your environment, set a pwa cookie and reload. This is not required on all setups.
Production / PlentyONE preview
- Deploy the shop from your Git connection in PlentyONE.
- Activate preview mode for the shop.
- Open the editor from PlentyONE (Shop » Management).
Changes to some editor settings may require a shop redeploy to take effect (shown in the Uptain settings panel).
What you do not need to change
On stock Plentyshop PWA:
apps/web/app/utils/settings-groups-imports— no extra globsapps/web/app/utils/settings-translations-imports— no extra globsapps/web/app/configuration/settings.config.ts— no Uptain keys required
The module registers editor UI via apps/web/modules/uptain/runtime, which Plentyshop discovers with its built-in ~~/modules/*/runtime/components/settings/** glob.
How it works (technical)
- Tracking: client/server plugins load the Uptain script and register cookie-bar entries.
- Editor UI: on module setup,
runtime/is linked intoapps/web/modules/uptain/runtime. - Settings API:
useSiteSettings('uptainId')etc. read fromruntimeConfig.publicand persisted shop settings.
Troubleshooting
| Problem | Check |
|---|---|
| No tracking script | NUXT_PUBLIC_UPTAIN_ENABLED=1 and a valid NUXT_PUBLIC_UPTAIN_ID |
| No Uptain block in editor | NUXT_PUBLIC_IS_PREVIEW=1, dev server restarted, apps/web/modules/uptain/runtime exists |
| Cookie / consent issues | NUXT_PUBLIC_UPTAIN_COOKIE_GROUP matches a group in your cookie bar config; set NUXT_PUBLIC_UPTAIN_CONSENT_MANAGER_VENDOR_ID if you use ConsentManager |
| Debug | NUXT_PUBLIC_UPTAIN_DEBUG_MODE=1, look for #__up_data_qp in the DOM |
Enable debug logging:
NUXT_PUBLIC_UPTAIN_DEBUG_MODE=1
License
MIT
Related Packages
Uptain tracking and personalization module for PlentyONE / Plentyshop PWA (Nuxt...
FINDLY search integration for PlentyONE PWA – conditional override of search, fa...
A module for NUXT for converting your PWA into an Android app using 'trusted web...
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 1.0.6 | ^3.0 | MIT | |
| 1.0.5 | ^3.0 | MIT | |
| 1.0.4 | ^3.0 | MIT | |
| 1.0.3 | ^3.0 | MIT | |
| 1.0.2 | ^3.0 | MIT | |
| 1.0.1 | ^3.0 | MIT |