Skip to main content
Charlie extends Shopify’s native locations with metadata and settings that power your fulfillment rules.
Charlie syncs automatically with your Shopify locations. Any location you create in Shopify appears in Charlie.

What Charlie adds to locations

FeatureDescriptionUsed in
TypesClassify locations as Warehouse or StoreConstraints, Routing
TagsAdd custom tags for flexible groupingConstraints, Routing
CapacitySet daily order limits per locationRouting, Automations
BacklogTrack open fulfillment pipeline and rank by queue depthRouting
HandleURL-friendly identifier for the locationStorefront, API, theme
Sales targetsPer-location sales goals tracked in admin and Shopify POSPOS, reporting
Shipping configuration (which locations ship, shipping zones, carriers) is managed directly in Shopify Admin → Settings → Shipping and delivery.

Identifying locations

Each location has a few identifiers you can use depending on the context:
IdentifierWhere it’s setUse it for
NameShopify Admin → LocationsThe merchant-facing display name
ID (GID)Assigned by Shopify (gid://shopify/Location/...)API calls, CSV imports, function inputs
HandleCharlie → Location detail page → Handle fieldURL-friendly references in your storefront or integrations

Handle

The handle is a short, URL-friendly identifier you assign per location — for example, paris-warehouse or flagship-store. Handles are useful when you need a stable, human-readable reference that doesn’t change if the location name is edited. Charlie exposes the handle as a public metafield (charlie_location.handle) so it’s accessible from your storefront, theme, or any app that reads location metafields.
1

Open the location

Go to Charlie → Locations and select the location.
2

Edit the handle

On the location detail page, find the Handle field and click Edit. Pick a short, URL-friendly identifier (lowercase, hyphens, no spaces).
3

Save

Save the handle. It’s written to both $app:location.handle and charlie_location.handle metafields.
Handles are useful as keys in spreadsheets, scripts, or theme code. Pick a convention (e.g. city-type) and apply it consistently across locations.

Markets at a glance

The location detail page shows the Shopify Markets each location serves as chips, so you can see at a glance which markets a location is set up for.
  • Each chip is a market name from your Shopify Markets configuration
  • Click a chip to jump to that market in Shopify Admin → Settings → Markets
Charlie reads markets via the read_markets access scope. If your install was set up before this scope was granted, you may need to re-authorize the app.

Browsing your locations

The location list includes pre-created views to help you find locations quickly:
ViewShows
AllEvery location
ActiveLocations currently active in Shopify
InactiveLocations that are inactive
StoresLocations with type set to Store
WarehousesLocations with type set to Warehouse
Each tab displays a count of matching locations. Your selected view is saved in the URL, so you can bookmark or share filtered views with your team.

Why extend locations?

Target rules precisely

Use types and tags to apply constraints and routing rules to specific locations

Scale without rework

New locations inherit rules automatically based on their type and tags

Control capacity

Limit daily orders per location to match staffing and operational capacity

Stay native

Charlie extends Shopify locations—no duplicate configuration

How it works

1

Locations sync from Shopify

All your Shopify locations appear in Charlie automatically.
2

Add type and tags

Classify each location (Warehouse or Store) and add custom tags.
3

Set capacity

Define how many orders each location can fulfill per day.
4

Use in rules

Reference location types and tags in your fulfillment constraints and order routing rules.

Example: Regional routing with location tags

A retailer with 3 warehouses and 20 stores wants to:
  • Route online orders to warehouses only
  • Use stores only for local pickup
Setup:
  1. Set warehouse locations to type Warehouse
  2. Set store locations to type Store
  3. Create a routing rule: prioritize locations where type = Warehouse
Result: Online orders route to warehouses first. Stores are only used if explicitly allowed.

Next steps

Types

Classify locations as Warehouse or Store

Tags

Add custom tags for flexible grouping

Capacity

Set daily order limits per location

Sales targets

Track per-location sales goals from admin and POS
Last modified on May 22, 2026