# ShopifyFLOWを使用して、会員登録時に取得した項目をメタフィールドに反映させる方法

**URL:** <https://community.shopify.com/t/shopifyflow/184554>\
**Category:** 技術的なQ＆A\
**Created:** [January 18, 2023, 8:23am UTC](https://community.shopify.com/t/shopifyflow/184554 "2023-01-18T08:23:22Z")\
**Posts on this page:** 5\
**Page:** 1

## AI-generated summary

**問題の概要:**
Shopify FLOWで会員登録時の情報（フリガナ、職業など）を顧客メモ欄からメタフィールドに自動反映させる際、一部のメタフィールドで「Value must be a single line text string」というエラーが発生し、更新が実行されない問題が報告されました。

**原因の特定:**
- Customer Noteの2行目以降の値には、先頭に改行文字（\n）が含まれている
- `newline_to_br`フィルターは改行を`<br/>`タグに変換するため、split後の文字列に改行が残る
- この余分な空白文字が「single line text」のメタフィールドのルールに抵触していた

**解決方法:**
メタフィールドのvalue設定時に、`strip`フィルターを追加することで解決：
```
{{ note | replace: 'Furigana: ', '' | strip }}
```

**結果:**
フリガナ、職業メタフィールド共に正常に出力されるようになり、問題は解決しました。誕生日（date型）は元々正常に動作していました。

<div class="post-metadata">

**Author:** ![chrono\_1](https://avatars.discourse-cdn.com/v4/letter/c/49beb7/32.png) [@chrono\_1](https://community.shopify.com/u/chrono_1)\
**Post date:** [January 18, 2023, 8:23am UTC](https://community.shopify.com/t/shopifyflow/184554/1 "2023-01-18T08:23:22Z")

</div>

ShopifyFLOWについて皆さんの知恵を拝借させてください。

●詰まっている箇所  
ShopifyFLOWを使用した、会員登録時に取得した項目を各顧客のメモ欄に出力し、それを該当するメタフィールドに自動反映させるオートメーション機能

●聞きたいことの要約  
一部のメタフィールドの更新が、エラーが表示され実行されない問題の解決方法およびアイデア

●起きている問題  
Got error updating metafield: “Value must be a single line text string.” For value: " テスト"

●解決するために試したこと  
・誤字脱字の確認  
・メモ欄から取得するコード（” を ’ に変更するなど）  
・漢字ではなく英語で登録する  
・メタフィールドのタイプを「multi line text」に設定する  
└オートメーションが再試行中となり、永遠に実行されない  
・メタフィールドのタイプを「Integer」に設定する

●問題について自分なりに考えたこと  
・「date」で出力している誕生日メタフィールドについては正常に表示されているため、恐らく難解な問題ではない

main-register.liquid

```markup

      
      
    

            
      
      
    

            
      
      
    

```

flow(value)

```javascript
{%- assign notes = customer.note | strip | newline_to_br | split: '
' -%}
{%- for note in notes -%}
  {%- if note contains "Furigana: " -%}
    {{ note | replace: 'Furigana: ', '' }}
  {%- endif -%}
{%- endfor -%}

```

 ![2023-01-16_12.51.19.png](https://canada1.discourse-cdn.com/shopifyforum/original/3X/a/b/ab23fc611da18ea954652c89a1616a29610c0136.jpeg)

 ![2023-01-16_12.51.53.png](https://canada1.discourse-cdn.com/shopifyforum/original/4X/d/c/6/dc6c39f974c9634d41b380a34e2f9bae6ab9aeb7.png)

 ![2023-01-16_12.58.19.png](https://canada1.discourse-cdn.com/shopifyforum/original/3X/4/b/4bd3762bb19f514c32ad3698a7ef8fd43c829203.png)

 ![2023-01-16_13.16.29.png](https://canada1.discourse-cdn.com/shopifyforum/original/4X/e/9/5/e953d0163e72f72686e1118b4e3481774edf34eb.png)

 ![2023-01-16_13.17.09.png](https://canada1.discourse-cdn.com/shopifyforum/original/3X/0/0/00afa38d0f360da2da26d5dcfb17dc141426384a.png)

 ![2023-01-16_13.17.23.png](https://canada1.discourse-cdn.com/shopifyforum/original/3X/e/8/e8b8ac69694580a642e523fc00af2dbdc1b6f360.png)

 ![2023-01-16_13.17.39.png](https://canada1.discourse-cdn.com/shopifyforum/original/3X/6/0/604efca13bc52bcec62dddc09a002ab9c9af778b.png)

思い当たるTipsやヒントだけでもないか、何卒ご協力をお願いします。。。！

---

<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:** [January 18, 2023, 11:58am UTC](https://community.shopify.com/t/shopifyflow/184554/2 "2023-01-18T11:58:16Z")

</div>

原因を説明できないのですが、

Shopify Flowのアクションでメタフィールドのvalueを設定する際、

下記のようにされてはいかがでしょうか？

```markup
{%- assign notes = customer.note | strip | newline_to_br | split: '
' -%}
{%- for note in notes -%}
  {%- if note contains "Furigana: " -%}
    {{ note | replace: 'Furigana: ', '' }}
  {%- endif -%}
{%- endfor -%}

```

↓

```markup
{%- assign notes = customer.note | strip | newline_to_br | split: '
' -%}
{%- for note in notes -%}
  {%- if note contains "Furigana: " -%}
    {{ note | replace: 'Furigana: ', '' | strip }}
  {%- endif -%}
{%- endfor -%}

```

noteを出力する際、stripし、前後の空白改行を削除します。

質問者様と同等の状況を私の開発ストアに作って検証し、

Shopify Flowのエラーメッセージを確認した際、

エラーメッセージ上では、

フリガナに入力した「テスト」や

職業に入力した「検証」という文字列の直前に空白が入っていることに気がつきました。

質問者様が添付してくださった画像を確認しても、

Shopify Flowのエラーメッセージの箇所で、

```auto
For value: " 検証"

```

のように、「検証」という文字列の直前に空白が入っているように見えます。

Single Line Textにルールに抵触するということは、

この空白は改行を意味するものと思われます。

なぜ、ここに改行が入ってしまうのかを説明できないのですが、

改行が入ってしまうのであれば、stripすればうまくいくのではないかと思います。

(私の環境ではうまく動きました。)

なお、

Customer Noteの1行目については、

この現象が発生しないようです。

そのため、誕生日はうまく動いているのだと思います。

ご参考まで。

(キュー田辺)

---

<div class="post-metadata">

**Author:** ![chrono\_1](https://avatars.discourse-cdn.com/v4/letter/c/49beb7/32.png) [@chrono\_1](https://community.shopify.com/u/chrono_1)\
**Post date:** [January 18, 2023, 11:21pm UTC](https://community.shopify.com/t/shopifyflow/184554/3 "2023-01-18T23:21:40Z")

</div>

Qcoltd様

迅速なご回答、並びに検証、解決に至るまで誠にありがとうございます。  
フリガナ、職業メタフィールド共に正常に出力されました。

 ![chrono__0-1674084093274.png](https://canada1.discourse-cdn.com/shopifyforum/original/3X/3/a/3a77110de10e85976d7d50ad1793d5c26f7463d5.png)

解説も非常にわかりやすく、思考プロセスも大変参考になりました。  
コミュニティで質問をするのは初めてだったのですが、Qcoltd様にご回答いただけて本当に良かったです。

繰り返しになりますが、この度はご回答いただき誠にありがとうございました。

Chrono

---

<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:** [January 19, 2023, 1:06am UTC](https://community.shopify.com/t/shopifyflow/184554/4 "2023-01-19T01:06:36Z")

</div>

@chrono_1 様

うまくいったとのことで安心いたしました。

ところで、

今回の現象について思いついたことがあり、

検証してみたところ原因がわかりました。

下記のコードを検証しました。

```markup
{% capture notes_raw %}Birthday: 2023-01-19
Furigana: テスト
Job: 検証{% endcapture %}

{{ notes_raw | strip | newline_to_br }}

```

このコードの出力は下記のようになりました。

```markup
Birthday: 2023-01-19

Furigana: テスト

Job: 検証

```

「改行」を「\n」という文字で表しますと、

上記は下記のように表されます。

```markup
Birthday: 2023-01-19
\nFurigana: テスト
\nJob: 検証

```

これを、  
でsplitしますと、下記のような配列になります。

```markup
["Birthday: 2023-01-19","\nFurigana: テスト","\nJob: 検証"]

```

このように、

Customer Noteの2行目以降の値は、

先頭に「\n」(改行)が入ってしまうことになるようです。

「newline\_to\_br」というフィルターは、その名前から、

改行を  
に変換するものだと思っていたのですが、

そうではなく、

改行を、  
+改行に変更するものだったようです。

ご参考まで。

(キュー田辺)

---

<div class="post-metadata">

**Author:** ![chrono\_1](https://avatars.discourse-cdn.com/v4/letter/c/49beb7/32.png) [@chrono\_1](https://community.shopify.com/u/chrono_1)\
**Post date:** [January 21, 2023, 12:51am UTC](https://community.shopify.com/t/shopifyflow/184554/5 "2023-01-21T00:51:50Z")

</div>

キュー田辺様

引き続きご回答ありがとうございます。  
今回の問題の発生した原因についても非常に腑に落ちました。

「Customer Noteの2行目以降の値は、先頭に\n(改行)が入る」

「newline\_to\_brは、改行を  
に変換するものではなく、改行を追加する」

上記の仕様が見えていなかったのですね。

解決だけでなく、原因の解明まで対応いただき、大変参考になりました。  
重ねてお礼申し上げます。
