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
- Source data fields
- Key-value field formats
- Parameterised fields
- Need more support?
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
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:
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: Formatted display value: €1.60 |
| Unit | A formatted numeric value using the unit provided in the value. |
Key: Weight Value: 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.