Track custom item information

Until recently, the app was limited to tracking only a few item details, such as serial numbers and warranty. It is no longer the case. I want to introduce you to "Custom fields".

The feature lets you enter and track other item information according to your business needs - for example, batch numbers, item URL links, supplier SKUs, etc.

Please skip this section if you're happy with the existing fields.

Create custom fields via the app's settings

Navigate to the app's "Settings" page and click/tap the "Create new field" button. You should notice the following form input fields:

  1. Name - the name of the field. Example: batch number. It will be used as a label/header elsewhere in the app and can be changed anytime.

  2. Key - the field identifier. Example: batchNumber. The key will be stored with the associated item field's values in the app's database and Shopify metafields. Once saved, the key is not editable.

  3. Searchable - tick the checkbox if you wish the field to be searchable on the "Tracked items" page. Enabling the setting will slightly slow the search, but it shouldn't be noticeable (a matter of milliseconds). It can be changed anytime.

Click/tap the "Save" button once you're happy with the changes. Currently, you can create up to 10 custom fields.

Use the newly created fields in the app

After creating new fields, they should be used similarly to serial numbers, as explained in the earlier sections. For example:

You could enable the field tracking for the relevant variants on the "Products" page by ticking the "Track <custom field name>" checkbox and saving the changes.

You could enter values into the new custom fields on the orders' "Serialize items" page.

You could view the saved values of such new fields on the "Tracked items" page.

Display values of custom fields outside the app

Following a similar approach to displaying serial numbers and warranties, you can add some liquid code to display the values of your custom fields outside the app (e.g. website theme). For example,

{% assign tracked_line_items = order.metafields.serializer_local.properties.value.items | where: "lineItemId", line_item.id %}

{% if tracked_line_items.size > 0 %}

  {% comment %} 
    Some other item related code, e.g. displaying serial numbers
  {% endcomment %}

  {% assign line_custom_fields = tracked_line_items | map: "customFields" %}
  {% assign my_fields = line_custom_fields | where: "key", "<field key saved in app settings>" %} 
  {% if my_fields.size > 0 %}
    <small>
      My field(s): {{ my_fields | map: "value" | join: ", " }}
    </small>
  {% endif %}

{% endif %}

Ensure you replaced <field key saved in app settings> with the actual key in the following block:

{% assign my_fields = line_custom_fields | where: "key", "<field key saved in app settings>" %}

For example, if you saved a custom field with a key batchNumber, the above snippet should be changed to

{% assign my_fields = line_custom_fields | where: "key", "batchNumber" %}

Last updated