---
title: "Packaging apps | Unitag Documentation"
description: "Packaging apps ask the visitor's permission to use their precise location, so a pack can redirect to the content for the region they are actually in."
canonical: "https://www.unitag.io/documentation/packaging/apps"
locale: "en"
route: "/packaging/apps"
---

# Packaging apps

A country derived from an IP address is a guess. When a pack needs the visitor's actual region — a regulatory notice, a local retailer, a market-specific recipe — a Packaging app is what asks them for it.

An app is a small consent page shown before the redirect: it explains why the location is being requested and offers accept or decline. It is styled to your brand, translated into the languages you serve, and attached to one or more brands.

![The Apps page: one card per geolocation app, showing the brands it serves and the languages it is translated into](https://www.unitag.io/documentation/images/packaging/en/packaging-apps.webp)

Apps are listed with the brands they serve and the translations they carry, with Edit, Preview and Associated Brands on each card.

> Not available for GS1 products
>
> The console states it above the list: geolocation apps are currently unavailable for GS1 products. A GS1 Digital Link product resolves through the standard's own URL structure, and the consent step does not sit in that path.

## The app builder

Edit opens the builder, which has three parts and a live phone preview beside them.

![The app builder: general options and associated brands, the design controls for logo, background, panel and buttons, the translations list, and the phone preview of the consent panel](https://www.unitag.io/documentation/images/packaging/en/packaging-app-builder.webp)

- **General options**: the app name, the brands it serves, and Use GEO IP as fallback — when a visitor's location cannot be determined, fall back to their IP address. Leave it on unless you specifically want no answer rather than an approximate one.
- **Design**: the logo, the background as a solid colour or an image, the consent panel's border, background, text colour and corner radius, and the two buttons' colours, radius and outline.
- **Translations**: the consent text per language, one of them marked as the default. A visitor whose language you have not translated sees the default.

The phone preview renders the consent panel as the visitor will see it, which is the only reliable way to judge whether the text still reads once it is inside the panel. Save stores the app.

## Attaching an app to a product

An app is associated with brands, and a product opts into it through the geolocation options in its own editor: use the precise geolocation consent application, or bypass the app and use passive geolocation. A product that bypasses the app is redirected on the approximate location alone, with no consent step and no prompt.

## Structured data

```json
[
  {
    "@context": "https://schema.org",
    "@type": "TechArticle",
    "@id": "https://www.unitag.io/documentation/packaging/apps#article",
    "headline": "Packaging apps",
    "url": "https://www.unitag.io/documentation/packaging/apps",
    "description": "Packaging apps ask the visitor's permission to use their precise location, so a pack can redirect to the content for the region they are actually in.",
    "image": "https://www.unitag.io/documentation/og/default-en.png",
    "inLanguage": "en",
    "articleSection": "Smart Packaging",
    "isPartOf": {
      "@type": "WebSite",
      "@id": "https://www.unitag.io/documentation/#website"
    },
    "publisher": {
      "@type": "Organization",
      "@id": "https://www.unitag.io/#organization",
      "name": "Unitag"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "Home",
        "item": "https://www.unitag.io/documentation"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "Smart Packaging",
        "item": "https://www.unitag.io/documentation/packaging/introduction"
      },
      {
        "@type": "ListItem",
        "position": 3,
        "name": "Packaging apps",
        "item": "https://www.unitag.io/documentation/packaging/apps"
      }
    ]
  }
]
```
