元欄位觸發器,逐步解說
關於在產品、變體、訂單、客戶以及另外八種所有者類型上修改元資料欄位(並保留先前值)的 Shopify Flow 逐步教學指南。
「元字段」是用來存放商店中那些《Shopify》未提供對應字段的資料,且《Shopify Flow》無法對其變更做出反應。這五種觸發器則可以 - - 而且它們會攜帶《previousValue》,因此工作流程能夠區分數值的上升與下降。
根據定義,這些功能全都有效:您只需在應用程式的「**元資料欄位觸發器」**頁面中選擇要監控的元資料欄位。若未在此處新增某個元資料欄位,該欄位便不會觸發任何動作。有關設定方式,請參閱 元欄位觸發器。
本頁內容:元資料欄位更新, 產品元資料欄位更新, 產品變體元資料欄位更新, 訂單元資料欄位更新, 客戶元資料欄位更新

元字段更新
當被監控的元資料欄位發生變更時觸發,適用於任何擁有者類型:產品、變體、系列、客戶、訂單、訂單草稿、公司、公司據點、部落格、部落格文章或頁面。
| 火災源自 | Shopify Webhook 加上變更偵測。會依照排程檢查變體、部落格、部落格文章及頁面的元資料欄位 |
| 權限 | 產品、變體與系列資料存取 |
| 已開啟 | 根據元欄位定義,在應用程式的「**元欄位觸發器」**頁面中 |
用於
- 沒有類型化觸發器的擁有者類型:集合、公司、頁面、部落格文章。
- 一個會監控多個元資料欄位,並在
metafieldKey進行分支的工作流程。
Metafield Update 會將哪些資料傳送至您的工作流程
| Shopify Flow 中的變數 | 類型 | 內容為何 |
|---|---|---|
metafieldKey |
文字 | 已更新的元字段的 namespace.key(用於在 Shopify Flow 中進行篩選) |
resourceType |
文字 | 資源類型(PRODUCT、PRODUCTVARIANT、COLLECTION、CUSTOMER、ORDER、COMPANY、COMPANYLOCATION、ARTICLE、BLOG、PAGE) |
resourceId |
文字 | 已更新的資源之 GID |
metafield |
對象 | 已更新的元欄位 |
metafield.id |
ID | 該元字段的全域識別碼 |
metafield.namespace |
文字 | 元字段的名稱空間 |
metafield.key |
文字 | 元字段的鍵 |
metafield.value |
文字 | 元字段的值 |
metafield.previousValue |
文字 | 此變更前的值。若元資料欄位剛建立,則為 null |
metafield.type |
文字 | 元欄位的類型 |
eventId |
文字 | 此事件的 ID。請在應用程式的「事件歷史紀錄」中搜尋此 ID,以查看確切的傳送內容。 |
範例:回應集合元資料欄位的變更
- 在應用程式中開啟「Metafield 觸發器」,點選「新增觸發器」,選擇擁有者類型「**集合」**及其定義,然後儲存。
- 在 Shopify Flow 中,請選擇「**Metafield Update」**作為觸發器。
- 新增條件:
metafieldKey等於custom.banner_text,且resourceType等於COLLECTION。 - 新增「透過
{{metafield.previousValue}} -> {{metafield.value}}和{{resourceId}}寄送內部電子郵件」功能。 - 開啟此工作流程。
產品元資料更新
當受監控的產品元資料欄位發生變更時觸發,此時產品以原生 Shopify Flow 參照的形式存在。
| 火災源自 | Shopify Webhook 加上變更偵測 |
| 權限 | 產品、變體與系列資料存取 |
| 已開啟 | 啟用一個使用該功能的「Shopify Flow」工作流程,即可開啟此功能。其專屬開關位於該應用程式的「**觸發器」**頁面中 |
用於
- 直接對產品進行操作:為其加上標籤、發佈,或更新另一個元資料欄位。
- 數值元欄位的閾值:評分、庫存預測、供應商交貨期。
「產品元資料更新」會將哪些資料傳送至您的工作流程
| Shopify Flow 中的變數 | 類型 | 內容為何 |
|---|---|---|
product |
產品(Shopify) | 該產品的元欄位已變更。這是一個完整的 Shopify 產品,因此其所有欄位以及 Shopify Flow 自身提供的產品操作皆可使用。 |
metafieldKey |
文字 | 已變更的元欄位的 namespace.key(用於在 Shopify Flow 中進行篩選) |
metafield |
對象 | 已更新的元欄位 |
metafield.id |
ID | 該元欄位的全域識別碼 |
metafield.namespace |
文字 | 元字段的名稱空間 |
metafield.key |
文字 | 元欄位的鍵值 |
metafield.value |
文字 | 元字段的值 |
metafield.previousValue |
文字 | 此變更前的值。若元資料欄位剛建立,則為 null |
metafield.type |
文字 | 元字段的類型 |
eventId |
文字 | 此事件的 ID。請在應用程式的「事件歷史紀錄」中搜尋此 ID,以查看確切的傳送內容。 |
範例:為評分低於 3 的商品加上標籤
- 在應用程式的「元資料欄位觸發器」頁面上新增產品元資料欄位。
- 在「Shopify Flow」中選擇「產品元資料欄位更新」。
- 新增一個條件:
metafieldKey等於reviews.rating。 - 新增「**執行程式碼」**來比較數字,因為元字段的值以文字形式傳入:return
dropped: Number(input.metafield.value) < 3 && Number(input.metafield.previousValue) >= 3。 - 在程式碼的
dropped輸出處新增一個條件,然後新增產品標籤low-rating。 - 開啟此工作流程。


產品變體元資料欄位更新
當被監控的變體元字段發生變更時觸發。父產品以參考形式傳入,變體則以resourceId的形式傳入。
| 火災源自 | 是根據排程進行檢查的,因為 Shopify 並不會針對此情況發送 webhook |
| 權限 | 產品、變體與系列資料存取 |
| 已開啟 | 啟用一個使用該功能的「Shopify Flow」工作流程,即可開啟該功能。該功能的專用開關位於應用程式的「**觸發器」**頁面中 |
用於
- 將變體資料彙總至產品層級,例如所有變體中最短的交貨時間。
- 將變體層級的屬性同步至資料源。
「產品變體元資料更新」會將哪些資料傳送至您的工作流程
| Shopify Flow 中的變數 | 類型 | 內容為何 |
|---|---|---|
product |
產品 (Shopify) | 該變體所屬的父產品(該變體的元字段已變更;請使用此物件來寫入產品元字段)。這是一個完整的 Shopify 產品,因此其所有字段以及 Shopify Flow 自身提供的產品操作皆可使用。 |
resourceId |
文字 | 其元字段發生變更的產品變體的 GID |
metafieldKey |
文字 | 已變更的元欄位的 namespace.key(用於在 Shopify Flow 中進行篩選) |
metafield |
對象 | 已更新的元欄位 |
metafield.id |
ID | 該元字段的全域識別碼 |
metafield.namespace |
文字 | 元字段的名稱空間 |
metafield.key |
文字 | 元字段的鍵 |
metafield.value |
文字 | 元字段的值 |
metafield.previousValue |
文字 | 此變更前的值。若元資料欄位剛建立,則為 null |
metafield.type |
文字 | 元字段的類型 |
eventId |
文字 | 此事件的 ID。請在應用程式的「事件記錄」中搜尋該 ID,以查看確切的傳送內容。 |
範例:將變體元資料欄位複製至其對應的產品
- 在「元資料欄位觸發器」頁面上新增「變體」元資料欄位。
- Shopify Flow 中「選取產品變體」元資料欄位的更新。
- 在
product上新增「Update product metafield」字段,並設定其值為{{metafield.value}}。 - 開啟此工作流程。
「元字段更新」指令
當受監控訂單的元字段發生變更時觸發,並將該訂單作為原生參考。
| 火災源自 | Shopify Webhook 加上變更偵測 |
| 權限 | 訂單資料存取 |
| 已開啟 | 啟用一個使用該功能的「Shopify Flow」工作流程,即可開啟此功能。其專屬開關位於該應用程式的「**觸發器」**頁面中 |
用於
- 針對應用程式寫入訂單中的資料做出反應:例如交貨日期、風險評分或 ERP 編號。
- 當核准元欄位狀態變更時,啟動履約步驟。
「元資料欄位更新」會將什麼指令傳送至您的工作流程
| Shopify Flow 中的變數 | 類型 | 內容為何 |
|---|---|---|
order |
訂單(Shopify) | 該元欄位已變更的訂單。這是一個完整的「Shopify」訂單,因此其所有欄位以及「Shopify Flow」自身的訂單操作皆可使用。 |
metafieldKey |
文字 | 已變更的元資料欄位的 namespace.key(用於在 Shopify Flow 中進行篩選) |
metafield |
對象 | 已更新的元欄位 |
metafield.id |
ID | 該元欄位的全域識別碼 |
metafield.namespace |
文字 | 元字段的名稱空間 |
metafield.key |
文字 | 元字段的鍵 |
metafield.value |
文字 | 元字段的值 |
metafield.previousValue |
文字 | 此變更前的值。若元欄位剛建立,則為 Null |
metafield.type |
文字 | 元字段的類型 |
eventId |
文字 | 此事件的 ID。請在應用程式的「事件歷史紀錄」中搜尋該 ID,以查看確切的傳送內容。 |
範例:當訂單的「核准」元欄位值變為 true 時,釋出該訂單
- 在「**元資料觸發器」**頁面上新增訂單元資料欄位。
- Shopify Flow 中「揀貨順序」元字段的更新。
- 新增條件:
metafieldKey等於custom.approved,且metafield.value等於true。 - 新增一個「針對
order.fulfillmentOrders執行 For each 循環」,並啟用「釋放履約訂單保留」功能。 - 開啟此工作流程。
客戶元資料更新
當受監控的客戶元字段發生變更時觸發,並以該客戶作為原生參照。
| 火災源自 | Shopify Webhook 加上變更偵測 |
| 權限 | 客戶資料存取 |
| 已開啟 | 啟用一個使用該功能的「Shopify Flow」工作流程,即可開啟此功能。其專屬開關位於該應用程式的「**觸發器」**頁面中 |
用於
- 儲值卡等級、信用額度或生日等資料皆儲存於元資料欄位中。
- 將表單或應用程式所寫入的客戶屬性同步至 CRM。
「客戶元資料更新」會將哪些資料傳送至您的工作流程
| Shopify Flow 中的變數 | 類型 | 內容為何 |
|---|---|---|
customer |
客戶(Shopify) | 該元欄位已變更的客戶。此為完整的「Shopify」客戶,因此其所有欄位以及「Shopify Flow」自身的客戶操作皆可供使用。 |
metafieldKey |
文字 | 已變更的元欄位的 namespace.key(用於在 Shopify Flow 中進行篩選) |
metafield |
對象 | 已更新的元欄位 |
metafield.id |
ID | 該元欄位的全域識別碼 |
metafield.namespace |
文字 | 元字段的名稱空間 |
metafield.key |
文字 | 元字段的鍵 |
metafield.value |
文字 | 元字段的值 |
metafield.previousValue |
文字 | 此變更前的值。若元資料欄位剛建立,則為 Null |
metafield.type |
文字 | 元字段的類型 |
eventId |
文字 | 此事件的 ID。請在應用程式的「事件歷史紀錄」中搜尋此 ID,以查看確切的傳送內容。 |
範例:為達到「金級」的客戶加上標籤
- 在「元字段觸發器」頁面上新增「客戶」元字段。
- 在「Shopify Flow」中選擇「客戶元資料欄位更新」。
- 新增條件:
metafieldKey等於loyalty.tier,且metafield.value等於gold。 - 新增客戶標籤「
gold」,並向 VIP 團隊發送內部電子郵件。 - 開啟此工作流程。
下一步
除了通用觸發器**之外,**類型化觸發器也會觸發,且與通用觸發器共用同一個事件,因此同時啟用兩者並不會在您的方案中重複計入。
- 完整的觸發器參考指南 - 將所有觸發器集中於單一頁面。
- 選擇合適的扳機 - 哪一種適合您的情況。
- 自訂觸發器 - 若沒有合適的內建觸發器,請自行撰寫。
- 事件歷史紀錄與疑難排解 - 查看發射了什麼以及攜帶了什麼。
