Global User Storage
Global userStorage
API (Server-Side)
userStorage
API (Server-Side)The global userStorage
API allows you to store information for a specific user across all tools, rather than being restricted to a single tool instance. This enables seamless sharing of identifiers and data points across the entire JENTIS tracking setup for the same user.
This functionality is available within the server-side variable runtime environment under the this
scope and is enabled by setting the Global Flag to true
.
Primary Use Case
Use global user storage when:
You need to share user-related data across multiple tools
You want a single persistent ID or value available to all tool instances
You’re implementing cross-tool features like unified user identifiers or campaign tracking
Examples:
Global
client_id
Shared
gclid
,fbclid
, or custom identifiersCross-tool session, signup, or interaction markers
Available Functions
1. this.userStorage.write(name, value, expirationTimestamp, globalFlag)
this.userStorage.write(name, value, expirationTimestamp, globalFlag)
Writes a value to global user storage, making it accessible across all tools.
Parameters
<NAME>
The key under which the value is stored
string
"client_id"
<VALUE>
The value to be stored
any
"123abcd123.11111111"
<EXPIRATION TIMESTAMP>
Expiration in milliseconds since epoch
number
1740555149453
<GLOBAL FLAG>
If true
, stores the value in global user storage (not per-tool instance)
boolean
true
Example
async function() {
const href = this.getFrontendVariable('window_location_href');
const url = new URL(href);
const gclid = url.searchParams.get("gclid");
if (gclid) {
const expirationTime = Date.now() + 7890000000; // e.g., ~3 months
this.userStorage.write("gclid", gclid, expirationTime, true); // global write
return gclid;
}
return null;
}
2. this.userStorage.read(name, globalFlag)
this.userStorage.read(name, globalFlag)
Reads a value from global user storage.
Parameters
<NAME>
The key under which the value is stored
string
"gclid"
<GLOBAL FLAG>
If true
, reads the value from global user storage
boolean
true
Example
jsCopyEditasync function() {
const gclid = this.userStorage.read("gclid", true); // global read
return gclid || "";
}
3. this.userStorage.delete(name, globalFlag)
this.userStorage.delete(name, globalFlag)
Deletes a value from global user storage.
Parameters
<NAME>
The key under which the value is stored
string
"gclid"
<GLOBAL FLAG>
If true
, deletes the value from global user storage
boolean
true
Example
jsCopyEditasync function() {
this.userStorage.delete("gclid", true); // global delete
return "";
}
✅ Best Practices
Use global storage only when values are meant to be shared across all tools.
Always set a realistic expiration timestamp to avoid stale or unnecessary data.
Avoid storing sensitive or tool-specific values globally—use regular
userStorage
for scoped persistence.
Summary
The global userStorage
API is essential for scenarios where user-specific data must persist across all tools within the JENTIS platform. It enables consistent, unified tracking and identifier handling for a seamless cross-tool experience.
For tool-scoped storage, refer to the userStorage
API (per tool) or toolInstanceStorage
API for shared (non-user-specific) storage.
Need help deciding what scope is right for your use case? Contact JENTIS Support.
Last updated
Was this helpful?