# オートメーションで決まった日（毎月月初）にメタフィールドを更新したい

**URL:** <https://community.shopify.com/t/topic/228963>\
**Category:** 総合的なディスカッション\
**Created:** [June 30, 2023, 1:40pm UTC](https://community.shopify.com/t/topic/228963 "2023-06-30T13:40:54Z")\
**Posts on this page:** 2\
**Page:** 1

## AI-generated summary

ユーザーは毎月月初に全顧客のメタフィールドを自動的に更新（falseに変更）したい。

**提案された解決策：**

- **推奨方法：** Matrixifyなどのアプリを使用した一括変更が最も簡単で確実。

- **Shopify Flowでの実装案：**
  1. トリガー：Scheduled time（毎月1日に設定）
  2. アクション：Get customer data で顧客データを取得
  3. For each loop（繰り返し処理）で各顧客に対して以下を実行：
     - メタフィールドをfalseに更新
     - 「target_metafield:false」タグを追加
     - 「target_metafield:true」タグを削除

**重要な制約：**

- Get customer dataは最大100件の顧客データしか扱えない
- 顧客が100人以上いる場合、フローを複製して10分おきに実行する必要がある
- この方法は動作未確認で不具合の可能性あり

回答者は、Shopify Flowより一括変更アプリの使用を強く推奨している。

<div class="post-metadata">

**Author:** ![n\_ogawa3](https://avatars.discourse-cdn.com/v4/letter/n/8e7dd6/32.png) [@n\_ogawa3](https://community.shopify.com/u/n_ogawa3)\
**Post date:** [June 30, 2023, 1:40pm UTC](https://community.shopify.com/t/topic/228963/1 "2023-06-30T13:40:54Z")

</div>

Shopifyの自動化（オートメーション）を使って、単純に「毎月月初に顧客メタフィールドを更新する（全ての顧客のメタフィールドをfalseへ変更する）」というのを設定したいのですが、うまくいきません。  
どのように設定したらいいでしょうか？

---

<div class="post-metadata">

**Author:** ![Qcoltd](https://yyz1.discourse-cdn.com/shopifyforum/user_avatar/community.shopify.com/qcoltd/32/900_2.png) [@Qcoltd](https://community.shopify.com/u/Qcoltd)\
**Post date:** [July 3, 2023, 10:06am UTC](https://community.shopify.com/t/topic/228963/2 "2023-07-03T10:06:32Z")

</div>

@n_ogawa3 様

興味があり調査してみました。

結論から申しますと、

Matrixifyなどを使用してMetafeildを一括変更した方が良いかもしれません。

[https://apps.shopify.com/excel-export-import?locale=ja](https://apps.shopify.com/excel-export-import?locale=ja)

さて、

「Shopifyの自動化（オートメーション）」というのはShopify Flowのことを指していると思われますので、Shopify Flowで実現しようとするとどうなるかについても回答いたします。

しかし上述の通り、Shopify Flowで実現するより、

Matrixifyなどで一括変更した方が簡単かつ間違いがないと考えています。

なお、これから説明する内容は動作確認をしておりませんので、

何か不具合がある可能性もあります。

まず、下図のようなフローを組みます。

 ![screenshot_20230703_06.png](https://canada1.discourse-cdn.com/shopifyforum/original/2X/1/1ad2a046451f0439678a73c44404c52efb1107fd.png)

1. トリガー: Scheduled time

[https://help.shopify.com/ja/manual/shopify-flow/reference/triggers/scheduled-time](https://help.shopify.com/ja/manual/shopify-flow/reference/triggers/scheduled-time)

毎月1日に実行するよう設定します。

1. アクション: Get customer data

[https://help.shopify.com/ja/manual/shopify-flow/reference/actions/get-customer-data](https://help.shopify.com/ja/manual/shopify-flow/reference/actions/get-customer-data)

下図のように設定をします。

 ![screenshot_20230703_07.png](https://canada1.discourse-cdn.com/shopifyforum/original/4X/1/e/9/1e9d7f8eec349a95c1dc6ffa7e8d76e3830bed6d.png)

「クエリを編集」に設定されている

```auto
tag_not: '_taget_metafield:false'

```

が今回の設定の肝になります。

「顧客データの取得」は、データの絞り込みにメタフィールドを利用できません。

そのため、メタフィールドと顧客タグの両方に値を埋め込むことで絞り込みを行います。

1. 繰り返し処理: For each loop (iterate)

3つ作成しますが、内容はどれも下図と同じです。

 ![screenshot_20230703_08.png](https://canada1.discourse-cdn.com/shopifyforum/original/3X/6/f/6f05a0dc971f2b04610be4469a1ec95888629488.png)

1. それぞれの繰り返し処理において下記を実行します。

- メタフィールドのアップデート
- 顧客タグ「\_taget\_metafield:true」を削除
- 顧客タグ「\_taget\_metafield:false」を追加

このフローによって、

顧客タグ「\_taget\_metafield:false」を持たない顧客(逆にいうと、「\_taget\_metafield:true」を持っている顧客)を100件絞り込み、そのそれぞれの顧客に対して、

メタフィールドをfalseにアップデートしつつ、

顧客タグ「\_taget\_metafield:true」を外し、

顧客タグ「\_taget\_metafield:false」を追加する、

という処理をします。

（※本来、メタフィールドのアップデートが完了したら、顧客タグの編集を行う、というフローを組みたかったのですが、仕様上断念しました。）

さて、

このやり方の問題点の1つとして、Get Customer Dataは、

100件の顧客データしか扱えない事が挙げられます。

もし、質問者様のストアに100目以上の顧客が登録されている場合、

フローを複製し、毎月1日に10分おきほとで、それぞれのFlowを予定時刻実行するようにします。

※100件のデータ処理を完了するのに10分で足りるかは試してみないとなんとも言えません。もっと長くした方が良いかもしれませんし、もっと早く完了できるかもしれません。

なお、

フローを複数作成するのではなく、

1つのフロー中で完結する方法もあります。

For Eachのthenからwait 10分に繋ぎ、

そこから際にGet Customer Dataを繋いで、

同様の処理を十分に顧客全員を更新できる数まで増やします。

**このやり方の問題01**

顧客数が多すぎる場合、各処理を作ったり複製したりするだけでも大変。

**このやり方の問題02**

フローを複製する方法も、フローの中で処理を複製する方法も、

繰り返し処理の中にミスがあるとき、

全てのフローや処理を修正する必要があり大変。

**このやり方の問題03**

問題、というはわけではないのですが、

顧客タグも併用するため、

対象のメタフィールドを更新する処理に、

顧客タグの編集処理を必ず加える必要があり、

少し手間です。

そのようなわけで、

Matrixifyなどでの一括更新をおすすめしています。

ご参考まで。

(キュー田辺)
