Understand dynamic fields

When you add most fields to a report, they display immediately. Dynamic fields work differently — they ask you to make a selection first, which controls what the field shows or filters.

Dynamic fields are fields that change behaviour based on values selected when the field is added to a report.

There are two categories of dynamic fields:

  • Source data fields surface custom data stored in your connected data source, such as metafields, attributes, tags, or line item properties
  • Parameterised fields are user-created fields that use configurable parameters to control how a custom field calculation behaves

This article explains how to identify each type of dynamic field and when to use them.

To learn how to add a dynamic field to a report or update a selection, see Add and update dynamic fields in a report.


In this article:


Types of dynamic fields

There are two types of dynamic fields. Each is used for a different purpose.

Type Description
Source data fields Surface data stored in your connected data source
Parameterised fields Custom fields that use configurable parameters to control field behaviour

How to choose the right type

  • Use a source data field when you want to filter, evaluate, or display custom data that is already stored in your data source — without writing custom logic
  • Use a parameterised field when you want to create reusable custom calculations where report users can control the inputs

Source data fields

Source data fields surface data that is stored against standard records in your connected data source — such as metafields, attributes, tags, and line item properties. These fields are available by default in Better Reports whenever that data exists in your data source.

There are two types of source data fields, depending on what you need to do with the data:

Type Purpose
Input dynamic fields Filter or evaluate data by selecting a value — the format is pre-determined
Key-value dynamic fields Display stored data by selecting a key — you also choose the format

The key difference is whether format selection is required. Input dynamic fields have a pre-defined data type, so no formatting is needed. Key-value dynamic fields store data in varying formats, so you must select how the value should be displayed.

Input dynamic fields

Input dynamic fields evaluate data based on a value you select when the field is added.

This means:

  • You select an input value (for example, a tag name)
  • The field checks the data against that input
  • The field returns a result for each row

The data type is pre-defined, so no additional formatting is required.

How to identify this type

Input dynamic fields can be identified by the ‘@’ in the field display name, which represents the input value.

When to use this type

Use input dynamic fields when you want to:

  • Filter results by a value stored in your data source
  • Check conditions (for example, whether a product has a specific tag)

Example:

The field Is tagged with ‘@Tag’ from the Products table **allows you to select a tag as the input.

  • The input is the selected tag
  • The fields checks whether each product has that tag
  • The field returns Yes or No for each product
Check if a product is tagged with a specific tag with the Is tagged with ‘@Tag’ input dynamic field

Key-value dynamic fields

Key-value dynamic fields retrieve and display a value stored against a specific key in your data source.

This means:

  • You select a key (for example, a metafield name)
  • The field retrieves the stored value for each row
  • You select a format to control how that value appears in the report

How to identify this type

Key-value dynamic fields can be identified by the star icon ****in the field data type.

When to use this type

Use key-value dynamic fields when you want to:

  • Display custom data stored in metafields, attributes, or line item properties
  • Control how that data is formatted in your report

⚠️ If your key can contains multiple values, the field may display the data as a JSON array, wrapped with [" "]. This formatting can be removed using the OPENJSON function in a custom field. If you need help, contact the support team.

Example:

Show the value of a product metafield using the Product Metafield ‘@Metafield’ key-value dynamic field

The field Product Metafield '@Metafield' from the Products table shows the value assigned to a product for the metafield key global.title_tag.

  • The key is global.title_tag
  • The stored value is retrieved for each product
  • The format (Text) controls how the value is displayed

Key-value field formats

When using a key-value dynamic field, you must select a format to control how the value appears in your report.

If the format does not match the data, values may display incorrectly, dates may not convert properly, and structured data such as currency or units may not format as expected.

How to choose a format

  • Use Text for words, labels, or descriptions
  • Use Numeric for plain numbers
  • Use Currency or Unit when the value includes structured data
  • Use Date or Date/Time when converting stored strings into readable dates

Available formats

Format Description Example
Text A string value such as a word, name or description.

Key: Product_Season

Value: SS26

Formatted display value: SS26

Numeric

A numeric value with no fo

rmatting.

Key: Loyalty_ID

Value: 12345

Formatted display value: 12345

Currency: {Account Currency Code} A formatted numeric value using the default currency of your account.

Key: Custom_Cost

Value: 26.07

Formatted display value: $26.07

Currency: code A formatted numeric value using the currency provided in the value.

Key: Custom_Price

Value: { "amount": "1.60", "currency_code": "EUR"}   

Formatted display value: €1.60

Unit A formatted numeric value using the unit provided in the value.

Key: Weight

Value: { "amount": "45", "unit": "oz"}   

Formatted display value: 45 oz

Date: MM/DD/YYYY, MM-DD-YYYY, MM.DD.YYYY Converts a string to a date using a specified pattern.

Key: Pickup_Date

Value: 03/06/2026

Formatted display value: Mar 6th, 2026

Date: DD/MM/YYYY, DD-MM-YYYY, DD.MM.YYYY Converts a string to a date using a specified pattern.

Key: Delivery_Date

Value: 06-03-2026

Formatted display value: Mar 6th, 2026

Date: YYYY/MM/DD, YYYY-MM-DD, YYYY.MM.DD, YYYYMMDD Converts a string to a date using a specified pattern.

Key: Pickup_Date

Value: 2026.03.06

Formatted display value: Mar 6th, 2026

Date / Time: YYYY-MM-DDThh:mm:ss Converts a string to a date and time using a specified pattern.

Key: Pickup_DateTime

Value: 2026-03-06T14:45:30

Formatted display value: Mar 6th, 2026 at 2:45:30 PM

Date / Time: Unix timestamp

Converts a UTC timestamp

to a date and time in your account timezone.

Key: Delivery_DateTime

Value: 1700000000

Formatted display value: Nov 14th, 2023 at 10:13:20 AM

Reference data Converts reference file IDs into accessible URLs.

Key: Upload_File

Value: gid://shopify/Video/26995523682366

Formatted display value: https://cdn.shopify.com/s/files/1/0322/1615/4252/files/13_b024aa0b-4bd7-47ac-95a4-1bd7bbff6f5b.jpg?v=1774330547


Parameterised fields

Parameterised fields are user-created dynamic fields that use configurable parameters to control how a custom field behaves. They are built using BRQL expressions and allow report users to select inputs that change what the field returns.

Parameterised fields are a type of custom field — they can be identified by the pencil icon in the field list. When you select a parameterised field to add to a report, a popup window opens automatically prompting you to select parameter values. This popup is what distinguishes a parameterised field from other custom fields.

If a parameter value is referenced in the field's display name, it appears using the @ParameterName  notation — but this is optional and not always present.

Use parameterised fields when you want to:

  • Reuse the same calculation logic with different inputs
  • Build configurable custom fields without duplicating logic
  • Allow report users to control how a field behaves

To learn more, see Parameterised fields.


Need more support?

If you get stuck or have additional questions, you can contact our team directly through the Help widget in the bottom-right corner — we typically respond within one business day.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.