This page defines the terms used across the Grona developer docs, one short definition each, with a link to the page that covers the term in depth. Some terms mean slightly different things on the website and in apps. Where they do, the definition says which surface it applies to.
| Term |
Definition |
Read more |
| Workspace |
Your Grona account space. It holds your campaigns, goals, settings and the websites and apps they run on. Every key and identifier belongs to one workspace. |
Keys and environments |
| Workspace id (web) |
The identifier in your script URLs, such as https://cdn.grona.ai/workspaces/YOUR_WORKSPACE_ID/main.js. API responses return it as meta.workspaceId, for example 65e8a1c47d2f9b03e6a15c42. It is public. |
Install the Grona script |
| Workspace key (mobile) |
The public identifier your app passes to the SDK, such as acme-market. It is not a secret: it ships inside the app. |
Initialise the SDK (Android) |
| Website |
A site your campaigns run on. Grona matches www.shop.example.com and shop.example.com as the same site for URL rules, but the browser keeps a separate visitor id for each origin. |
Domains and subdomains |
| External id |
Public API: your own id for a campaign (externalId), such as CMP-1024. It is unique in the workspace and accepted anywhere a campaign id is. Mobile: an activation id a campaign carries; your app’s activation source reports which ones are active, and it can only switch campaigns off. |
Create campaigns from your platform, Campaign activation and kill switch |
| Term |
Definition |
Read more |
| Campaign |
A change your team runs and measures: edits to one or more pages on a website, or content in one placement in an app. A campaign has variations, targeting rules and a status (live or paused). |
How Grona works |
| Variation |
One version of the content in a campaign. On the website, a variation is a set of edits made in the visual editor. In the mobile configuration the same idea is called a variant. |
Preview and QA a variation |
| Control and variant |
Control is the unchanged experience that results are compared against. A variant is a changed version. The Public API labels each variation control or variant. |
Create campaigns from your platform |
| A/B test and general campaign |
An A/B test splits visitors between Control and Test and compares them. A general campaign has one variation and shows it to every visitor who matches the targeting. In the Public API these are abTest and general. |
Create campaigns from your platform |
| Traffic split |
The share of visitors each variation gets. On the website and in the Public API it is whole percentages that total 100. In the mobile configuration it is basis points that total 10,000. Changing a split moves some visitors to a different variation. |
Assignment and bucketing |
| Priority |
The order in which campaigns are evaluated. On a website, the first campaign that matches a page view enrols the visitor and lower-priority campaigns do not run on that page view. In an app, the first active campaign in a placement whose audience matches is assigned; if the shopper lands in control or holdout, the next campaign gets its own draw. |
Placements |
| Term |
Definition |
Read more |
| URL rules |
Which pages a website campaign runs on: exact URL, URL starts with, URL contains, or the entire site. A page matches when any rule matches. There is no regex or wildcard syntax. |
Target pages with URL rules |
| Audience rules |
Conditions on who sees a campaign. On the website they cover signals such as device, location, language, time and earlier visits. In apps they read the basket, the screen, the shopper’s profile and context. A condition that cannot be evaluated never matches. |
Target audiences |
| Page variable |
Website, Public API campaigns only: a variable your page sets on window (segmentId, such as audience_id) and the value it must equal (segmentValue, such as returning_buyer). Leave both out to target every visitor. Not to be confused with mobile profile segments. |
Target visitors by page variable, Page variables |
| Term |
Definition |
Read more |
| Profile segment |
Mobile: an opaque segment id your app sets in an identified shopper’s profile, such as returning_buyer. Audience rules read these ids as profile.segments. Not to be confused with website page variables. |
Shoppers and identity |
| Placement |
A named place in your app where Grona content can appear, such as home_top or cart_line. The set is fixed in this version. |
Placements |
| Component |
Native UI the SDK draws for you: a banner, a progress bar, an offer or a message. |
Grona components |
| Decision |
Content your app draws with its own views: a rail, a bundle, a product card or a substitute. The SDK delivers it to your listener; null means show nothing. |
Patterns for host-rendered decisions |
| Slot |
A GronaSlotView in your layout, bound to one placement, where the SDK draws components. |
Render Grona components (Android) |
| Anchor |
The view the SDK measures for visibility: the slot itself, or the view you pass with a decision request. It must stay visible, at zero height when empty, so every arm is measured the same way. |
Events and exposure |
| Visit |
Website: a browsing session, which ends after 30 minutes without activity or 7 hours in total. Mobile: a screen visit, keyed on placement, screen and key. Events such as eligible fire once per campaign per screen visit. |
Consent and storage, Events and exposure |
| Term |
Definition |
Read more |
| Arms |
The group a shopper is assigned to in an app campaign. Treatment sees the campaign. Control sees nothing from it and is the comparison group. Holdout is held out of that campaign. Global holdout sees no Grona content in any campaign assigned on the same unit (install or customer). |
Assignment and bucketing |
| Eligible |
The mobile event logged for every arm when a decision is computed for a placement. It is the population for analysis. |
Events and exposure |
| Served |
The mobile event logged when treatment content first reaches its slot or listener. |
Events and exposure |
| Exposure |
The mobile event logged when half of the content has been visible for one second. It is diagnostic only, because control has no content to measure. |
Events and exposure |
| Goal and conversion |
A goal is an outcome you measure, such as an order or a sign-up, defined in the Grona dashboard. A conversion is one occurrence of it, sent by a goal snippet or a grona('track', ...) call on the website, or by the commerce events your app forwards. |
Track conversions and custom events |
| Term |
Definition |
Read more |
| Signed configuration |
The document that carries a workspace’s app campaigns, signed by Grona. The SDK applies it only if the signature matches a configuration key you passed at initialisation. |
Signed configuration |
| Grant |
A short-lived token Grona signs that lets one signed-in shopper see one money-bearing offer. Your order backend verifies it before it applies the offer. |
Offers and grants |
| Preview link |
Website: your page URL with ?gronaPreview= and a variation id. It shows the variation and records nothing. It does not expire, and anyone with the link can open it. Mobile: a link that carries a single-use pairing code, which the SDK exchanges for a preview pin bound to that device for at most 24 hours. |
Preview and QA a variation, Preview links (Android) |
| Editor link |
A link that opens the visual editor for one variation. The Public API returns it as editUrl. It is a secret and expires after 15 minutes. |
Visual editor links |