Line item properties reference
Every _pw_ property Pixel Wrangler attaches to cart lines, the customer-visible properties you can switch on, and the Settings presets that control which ones appear.
Every customized line item carries _pw_* properties — the data your order emails, fulfilment tools and staff read to know what the customer designed. This page lists all of them and how to control which ones appear.
Shopify hides properties that start with an underscore from the storefront, so none of the _pw_* properties show to customers unless your theme explicitly renders them. Separately, you can switch on a few customer-visible properties (no underscore) that do appear in cart, checkout and the order confirmation — see below.
Choosing a preset
In Settings → Line Item Properties, pick how much data rides on each order line:
- Minimal — Essential IDs only. Nothing beyond the always-included properties.
- Standard — IDs + previews + content + counts (Recommended). The default. Identifiers, preview images and artwork links, each text and image the customer used, and the four element counts.
- Detailed — Everything except JSON metadata. Standard plus template and variant names, the combined text summary, sticker and background names, the total element count and side names.
- Custom — Choose individual properties. Tick exactly the properties you want. This is the only preset that can add the customer-visible properties and the
_pw_metadataJSON.
A live Preview under the setting shows exactly what a sample order line will carry under your chosen preset — computed by the same code that writes real cart properties.
Always included
These ship on every customized line regardless of preset — the render pipeline and pricing depend on them:
| Property | Description |
|---|---|
_pw_template_id | The template the design was made on |
_pw_session_id | The design session id |
_pw_snapshot_id | The immutable design snapshot the artwork renders from |
_pw_session_created | When the customer started designing (ISO 8601) |
_pw_surcharge_total | Total surcharge in cents — only when the design triggered a surcharge |
_pw_surcharge_message | The customer-facing surcharge message, when set |
_pw_surcharge_sides | JSON detail of which sides triggered the charge |
Identifiers
| Property | Preset | Description |
|---|---|---|
_pw_product_id | Standard | Shopify product id |
_pw_variant_id | Standard | Shopify variant id |
_pw_template_name | Detailed | Template display name |
_pw_variant_title | Detailed | Variant options joined, e.g. Medium / Black |
Preview images and artwork
| Property | Preset | Description |
|---|---|---|
_pw_thumbnail | Standard | URL to the design thumbnail (shown in cart and order admin) |
_pw_preview | Standard | URL to the larger multi-side preview |
_pw_artwork__front, _pw_artwork__back, … | Standard | One link per print file, named after the print file (lowercased, spaces as underscores). Points at the artwork gateway, which redirects to the file once it's rendered — see Order flow |
Keep _pw_thumbnail and _pw_preview on even for lean configurations — the cart preview reads them.
Text content
| Property | Preset | Description |
|---|---|---|
_pw_text_1, _pw_text_2, … | Standard | Each text field the customer filled in |
_pw_text_1_color, … | Standard | The colour name they picked for that text |
_pw_text_1_font, … | Standard | The font name they picked for that text |
_pw_text_1_icons, … | Standard | Icons they added to that text |
_pw_text_all | Detailed | All text combined, separated by | |
Image, sticker and background content
| Property | Preset | Description |
|---|---|---|
_pw_image_1, _pw_image_2, … | Standard | URL to each image used |
_pw_image_1_type, … | Standard | Where the image came from — upload, ai_image, ai_style_transfer |
_pw_sticker_1, … | Detailed | Name of each sticker applied |
_pw_background_1, … | Detailed | Name of each background applied |
Element counts
| Property | Preset | Description |
|---|---|---|
_pw_image_count | Standard | Number of images placed |
_pw_text_count | Standard | Number of text fields with content |
_pw_sticker_count | Standard | Number of stickers applied |
_pw_background_count | Standard | Number of backgrounds applied |
_pw_element_count | Detailed | Total of all the above |
Design details
| Property | Preset | Description |
|---|---|---|
_pw_sides | Detailed | Names of the sides the customer actually customized |
_pw_metadata | Custom only | The whole design summary as one JSON property |
Customer-visible properties
With the Custom preset you can add properties without the underscore, so they show in the cart, at checkout, in the order confirmation email and in fulfilment apps that print line properties:
| Option in Settings | Properties written | Example |
|---|---|---|
| Customer-visible text | One per text element, labelled with the element's Order property name (or its name), plus … colour and … font when chosen | Name: Sam, Name colour: Black, Name font: Oswald |
| Customer-visible stickers | Stickers | Stickers: Daisy, Bee |
| Customer-visible background | Background | Background: Ocean |
Set the label per text element in the template builder: Text → Text Element Settings → Order property name. Duplicate labels are numbered (Name, Name 2).
Where you'll use these
- Order confirmation emails — swap the stock product image for
_pw_thumbnail. Walkthrough in Customizing order confirmation emails. - Fulfilment tools — most read
_pw_text_*and_pw_image_*for packing slips and manual checks. For the print files themselves, use order tags and metafields or the Artwork Export API. - Staff, at a glance — the properties appear on every order line in your Shopify admin, no setup needed.