# 特定のクーポンコードが利用された場合、メールにメッセージを表示する

**URL:** <https://community.shopify.com/t/topic/419592>\
**Category:** 技術的なQ＆A\
**Created:** [June 16, 2025, 10:09am UTC](https://community.shopify.com/t/topic/419592 "2025-06-16T10:09:33Z")\
**Posts on this page:** 4\
**Page:** 1

## AI-generated summary

ユーザーが特定のクーポンコード（例：「couponxxx」）が使用された注文の確認メールに、カスタムメッセージを表示させたいと質問しました。

**問題点：**
- ChatGPTが提案したコードでは `discount_applications` の前に `order.` が欠けていたため、ディスカウント情報が取得できず動作しませんでした。

**解決策：**
Qcoltdが修正コードを提供：
```markup
{% if order.discount_applications.size > 0 %}
  {% for discount in order.discount_applications %}
    {% if discount.title == 'PROD5' %}
    コメントが表示
    {% endif %}
  {% endfor %}
{% endif %}
```

**追加説明：**
- `{% if order.discount_applications.size > 0 %}` はディスカウントが1個以上ある場合のみ処理を実行し、不要な読み込みを減らすための条件分岐です。
- ディスカウントが1個のみの場合、この条件文は省略可能とのことです。

問題は解決し、コードは正常に動作しました。

<div class="post-metadata">

**Author:** ![number\_girl](https://avatars.discourse-cdn.com/v4/letter/n/c37758/32.png) [@number\_girl](https://community.shopify.com/u/number_girl)\
**Post date:** [June 16, 2025, 10:09am UTC](https://community.shopify.com/t/topic/419592/1 "2025-06-16T10:09:33Z")

</div>

特定のクーポンコード、ここでは「couponxxx」と仮にしますが、これを入力された注文の場合は、お客様宛の注文確認メールに特殊メッセージを表示させたいです。

ChatGPTさんと相談して次の通りコードが出力されたのですが、テスト注文しても表示がされませんでした。

```auto
{% for discount_app in discount_applications %}
  {% if discount_app.code == 'couponxxx' %}
  ここにメッセージを記入
  {% endif %}
{% endfor %}

```

この書き方は有効でしょうか？

正しい書き方がありましたらご教示いただけますと幸いです。

---

<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:** [June 17, 2025, 5:50am UTC](https://community.shopify.com/t/topic/419592/2 "2025-06-17T05:50:38Z")

</div>

@number_girl 様

記載頂いているコードですと、discount\_applicationsの前に\*\*order.\*\*がないので、

ディスカウント情報が取得できていない様に思われます。

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

```markup
{% if order.discount_applications.size > 0 %}
  {% for discount in order.discount_applications %}
    {% if discount.title == 'PROD5' %}
    コメントが表示
    {% endif %}
  {% endfor %}
{% endif %}

```

ご参考まで。

（キュー小坂）

---

<div class="post-metadata">

**Author:** ![number\_girl](https://avatars.discourse-cdn.com/v4/letter/n/c37758/32.png) [@number\_girl](https://community.shopify.com/u/number_girl)\
**Post date:** [June 19, 2025, 6:10am UTC](https://community.shopify.com/t/topic/419592/3 "2025-06-19T06:10:10Z")

</div>

ご返信ありがとうございます。

いただいたコードを利用したところ、正常に動作いたしました！ありがとうございます。

ちなみに追加の質問で恐縮なのですが

```markup
{% if order.discount_applications.size > 0 %}

```

この部分のコードって何のために必要なのでしょうか？

---

<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:** [June 19, 2025, 6:38am UTC](https://community.shopify.com/t/topic/419592/4 "2025-06-19T06:38:44Z")

</div>

@number_girl

ご質問いただきました下記コードは、ディスカウントが1個以上ある場合にifの中が動く様になっています。

ディスカウントがない場合は中の処理が行われないため、不要な読み込みを少なくするために記載しています。

ですが、注文に付くディスカウントが1個であればそこまで気にする必要はないかと思いますので、下記のコードは削除いただいて問題ございません。

```markup
{% if order.discount_applications.size > 0 %}

```

```markup
{% endif %}

```

ご参考まで。

（キュー小坂）
