メッセージにバーコードを追加する方法
このページで学べること
{% barcode %} タグを使用して、メール、MMS、RCS、WhatsApp メッセージ内で Code 128 バーコードを生成する方法をご覧ください。バーコードの値には、静的な文字列、プロファイルプロパティ、イベント変数、または Klaviyo クーポンコードを使用できます。
クイック リファレンス
チャネル | モード | タグを追加する場所 |
|---|---|---|
メール |
| テキストブロック、HTMLブロック、または画像ブロックのダイナミック画像タブ |
MMS |
| 添付ファイル > 動的画像 |
RCS |
| 添付ファイル > 動的画像 |
| ヘッダー > 動的画像 |
始める前に
{% barcode %} タグは URL を生成することで機能します。その URL が読み込まれると(プレビュー、受信トレイ、またはモバイル端末で)、バーコードの PNG 画像がレンダリングされます。つまり、バーコード画像は URL が実際にフェッチされるまで作成されません。
{% barcode %} タグは次でサポートされています:
- メール
- MMS
- RCS
モバイルメッセージでは、対応するチャネルをアカウントで設定する必要があります。MMSバーコード画像は、送信元番号と受信者の国がMMSに対応している場合にのみ配信できます。対応している国と番号タイプについては、MMS画像とGIFに関するベストプラクティスについてをご覧ください。
現在クーポンコードのスタートガイドの記事で{% barcode_code %}を使用している場合、推奨される置き換えは{% barcode %}タグです。(メールだけでなく)すべてのチャネルをサポートし、Klaviyoのクーポンコードに限らず、任意の値で機能します。{% barcode_code %}タグは既存の実装では引き続き機能しますが、新しいバーコードでは{% barcode %}を使用してください。メール内のクーポンバーコードを置き換える場合、クーポン名と寸法はそのままにしてcoupon=True mode=htmlを追加します(例:{% barcode 'CouponName' coupon=True mode=html height=100 width=200 %})。
基本的な使用方法
バーコードタグを使用する最も簡単な方法は次のとおりです。
{% barcode 'MyCode' %}これにより、バーコードの PNG 画像を返す URL が生成されます。スキャンすると、バーコードには値 MyCode が含まれます。
バーコードの値は必須です。「」内に固定文字列、または変数のいずれかを含めてください。値を省略するとテンプレートエラーが発生します;空の値に解決される変数を使用すると、バーコードを生成できないURLが生成されます。
タグに引数を渡すことで、バーコードをカスタマイズできます。例:
{% barcode 'MyCode' width=200 height=100 %}利用可能なすべてのオプションについては、以下の引数リファレンスのセクションをご覧ください。
異なるチャネルでのバーコードの使用
メール
メールの場合、バーコードのレンダリング方法には 2 つのオプションがあります。
オプション 1:HTML モード(メールにおすすめ)
mode=html を設定して、タグが HTML <img> 要素を直接出力するようにします。これは、メールにバーコードを含めるための最もシンプルな方法です。
{% barcode 'MyCode' mode=html %}このタグを、メールテンプレート エディターのテキストブロックまたは HTML ブロックに配置します。
オプション 2:URL モード
URLを出力するには、モードを未設定のままにする(またはmode=urlを設定する)ようにしてください。画像ブロックと併せてこのオプションを使用すると、画像のスタイルを制御できます。
{% barcode 'MyCode' %}- メールテンプレートに画像ブロックを追加し、それを選択してください。
- 画像を選択をクリックし、動的画像タブを開きます。
- バーコードタグを動的変数または動的URLに貼り付けてください。
- [保存] をクリックします。
バーコードがテキストブロックに表示されない場合、非表示にしている可能性がある表示/非表示ロジックがブロックに適用されているかどうかを確認してください。
MMS
MMSメッセージの場合、バーコードタグはテキスト本文ではなく、SMS/MMSエディタの動的画像タブで追加してください。
- エディタでMMSメッセージを開き、コンテンツを選択して、添付ファイルをオンにしてください。
- 画像を選択し、画像を選択をクリックしてください。エディタにメディアが表示されている場合は、それを選択し、代わりにメディアを選択をクリックしてください。
- 動的画像タブに移動してください。
- バーコードタグを動的変数または動的URLに貼り付けてください(例:)。
{% barcode person.LoyaltyId %}- [保存] をクリックします。
これは、MMSに動的な画像を追加する場合と同じプロセスです。詳細については、MMSに動的な画像を追加する方法をご覧ください。
RCS
RCSメッセージの場合は、mode=rcsを使用して、RCS画像のデフォルトのバーコードとキャンバスの寸法を適用します。送信前に、受信者のデバイスの種類でメッセージをプレビューしてテストしてください。
{% barcode 'MyCode' mode=rcs %}- RCSメッセージエディターで、カードの添付ファイルセクションをオンにします。
- 画像を選択し、画像を選択をクリックしてください。エディタにメディアが表示されている場合は、それを選択し、代わりにメディアを選択をクリックしてください。
- 動的画像を開き、バーコードタグを動的変数または動的URLに貼り付けて、保存をクリックしてください。
RCS のデフォルト:
- 幅: 600px
- 高さ:300px
- パディング先:1440x720px
これらのデフォルトは、Klaviyo の RCS 画像フォーマット推奨事項に従っています。必要に応じて、カスタム width、height、padded_width、padded_height の値で上書きできます。
カスタム バーコードの寸法が 1440x720px を超える場合、標準キャンバスに画像が収まらないため、既定のパディングは適用されません。この場合は、padded_width と padded_height の値を独自に指定してください。
- WhatsAppメッセージエディターで、ヘッダーをオンにしてメディアを選択します。
- メディアを選択をクリックし、動的画像タブを開きます。
- バーコードタグを動的変数または動的URLに貼り付けてください(例:)。
{% barcode person.MembershipId %}- [保存] をクリックします。
WhatsApp には特別な設定やモードは不要です。デフォルトの mode=url は正しく機能します。
バーコード タグ引数リファレンス
引数 | 利用状況 | 値 | デフォルト |
|---|---|---|---|
| バーコードの幅を設定します | 正の整数(生成された画像の幅は4096pxを超えないようにしてください。詳細は「スケーリングとサイズ設定」を参照してください) | 100( |
| バーコードの高さを設定します | 正の整数(生成された画像の高さは4096pxを超えてはなりません。スケーリングとサイズ設定を参照してください。) | 50( |
| 出力形式を設定します |
|
|
| 値をKlaviyo内のクーポン名として扱い、受信者に割り当てられたクーポンコードをエンコードします |
|
|
| キャンバス全体の幅(ピクセル単位)です。URLモードおよびHTMLモードでは、 | 最大4096までの正の整数で、生成されたバーコードの幅以上の値 | なし( |
| ピクセル単位のキャンバス全体の高さ。URLモードおよびHTMLモードでは、 | 4096以下の正の整数で、生成されるバーコードの高さ以上の値 | なし( |
プロファイルプロパティとイベントデータでバーコードを使用する
受信者ごとにパーソナライズできるように、バーコードの値としてプロファイルプロパティまたはイベント変数を使用できます。同じ値の受信者には同じバーコードが付与されます。
プロファイルプロパティの例:
{% barcode person.LoyaltyId %}
{% barcode person.email %}
{% barcode person.MembershipNumber %}イベント変数の例(メトリックトリガーによるフローの場合):
{% barcode event.Code %}
{% barcode event.OrderId %}欠損値の処理:
受信者にそのプロパティが設定されていない場合、バーコード URL は無効になり、画像は読み込まれません。次の 2 つのオプションがあります:
オプション 1:default フィルター を使用して、意味のあるフォールバック値を設定します:
{% barcode person.BarcodeCode|default:'STORE-MEMBER' %}スキャンした場合でも意味が通る値がデフォルトになっていることを確認してください。「fallback」のような一般的なプレースホルダーを使用すると、スキャン可能ではあるものの役に立たないバーコードが生成されます。
オプション2(メール):条件文を使用して、値が存在しない場合にバーコードを完全に非表示にします:
{% if person.BarcodeCode %}
{% barcode person.BarcodeCode mode=html %}
{% endif %}バーコードがプロファイルプロパティまたはイベント変数から取得される場合は、欠損値を常に処理してください。メールの場合は、意味のあるデフォルト値を使用するか、条件分岐を使ってバーコードを非表示にしてください。モバイルメッセージの場合は、有効なフォールバック値を使用するか、必要な値を持つ受信者にのみ送信してください。
メールの組み合わせ例:
{% barcode person.LoyaltyId width=200 height=75 mode=html %}Klaviyo クーポンコードでバーコードを使用する
まず、Klaviyoでクーポンを作成するかアップロードしてください。coupon=Trueを設定し、以下の例のShopifyCouponをKlaviyo内のクーポンの正確な名前に置き換えてください。Klaviyoは受信者にクーポンコードを割り当てるか、既存の有効なコードを使用し、そのコードをバーコードにエンコードします。設定とクーポンの利用要件については、Klaviyoのクーポンコードのスタートガイドをご覧ください。
{% barcode 'ShopifyCoupon' coupon=True %}これはすべてのチャネルで機能します。例:RCS でクーポン バーコードを送信するには:
{% barcode 'ShopifyCoupon' coupon=True mode=rcs %}Klaviyo が管理するクーポンコードを使用する場合にのみ coupon=True を設定してください。独自のクーポンコードを管理し、それらをプロファイルプロパティとして保存している場合は、coupon=True を使用せずにプロパティを直接参照してください:
{% barcode person.CouponCode %}拡大縮小とサイズ変更
デフォルトでは、生成されたバーコード画像の幅と高さは、3xの倍率でスケーリングされます。つまり、次のとおりです。
- 100 のうち
widthは 300px の実際の幅でレンダリングされます - 50 件中
height件が、実際の高さ 150px でレンダリングされます。
mode=htmlでは、メール画像はタグの元の幅と高さで表示されます。たとえば、width=100 height=50は300x150pxの画像を生成し、表示サイズを100x50pxに設定します。
例外:mode=rcs の場合、スケーリング係数は 1x です。これにより、RCS 画像のフォーマット要件に合わせてバーコードの寸法をより正確に制御できます。
パディング値はスケーリングされません。padded_width引数とpadded_height引数は、ピクセル単位のキャンバスの完全なサイズを表します。URLモードとHTMLモードでは、それぞれが対応する幅または高さの少なくとも3倍である必要があります。mode=rcsでは、RCSが1×のスケーリングを使用するため、それぞれが対応する幅または高さ以上である必要があります。例:
{% barcode 'Code' width=200 height=100 padded_width=700 padded_height=400 %}ここでは、バーコードは 700x400px のパディング付きキャンバス内で 600x300px(200×3、100×3)でレンダリングされます。
最大画像サイズ:バーコード サービスでは 4096x4096 ピクセルを超える画像は生成されません。この制限は、スケーリング後の rendered サイズに適用されます。非 RCS バーコード(3x スケーリング)の場合、最大の width 引数は約 1365(1365 × 3 = 4095px)です。RCS バーコード(1x スケーリング)の場合、最大は 4096 です。
ロングコードの幅のガイドライン:
- RCS 以外のバーコードの場合:コードが 15 文字 を超える場合は、デフォルトの 100(300px でレンダリングされます)を超えて幅を広げてください。
- RCS バーコードの場合:コードが 30 文字 を超える場合は、デフォルトの 600px を超えるように幅を広げてください。
幅が狭すぎてデータをエンコードできない場合、バーコード画像は生成に失敗します。
トラブルシューティング
送信する前に必ずプレビューしてください
{% barcode %} タグはレンダリング時に URL を生成し、画像はその URL が取得されるまで生成されないため、プレビューまたはメッセージを送信するまで失敗が明らかにならない場合があります。問題を早期に検出するには、次の手順に従ってください:
- 必要なプロパティを持つプロファイルを使用してメッセージをプレビューし、イベント変数の場合は該当するイベントも指定してください。バーコードが読み込まれない場合は、送信前に値、タグの構文、サイズを確認してください。
- バーコードをスキャンしてください。バーコードスキャンツール(例:imagetotext.info/barcode-scanner)を使用します。バーコードが想定どおりの値をエンコードしていることを確認します。
- オーディエンスに送信する前に、自分宛てにテストメッセージを送信してください。
クーポンのバーコードの場合、アプリ内プレビューでは、換金可能なクーポンコードではなく、クーポン名の後に-PREVIEWを付けて表示されます。テストメッセージの送信では、利用可能なクーポンコードを使用できます。スキャンされた値を確認し、実際に送信するコードの長さでテストしてください。
一般的な問題
バーコード画像が読み込まれない
最も一般的な原因は、バーコードの値が空であることです。これは、タグが受信者に存在しないプロファイルプロパティまたはイベント変数を参照している場合に発生します。例:
{% barcode person.BarcodeCode %}受信者にBarcodeCodeの値がない場合、生成されたURLにコードが含まれず、画像が表示されません。これを修正するには、defaultフィルターを追加してください。サンプルのフォールバックを、スキャナーまたはPOSシステムで認識される値に置き換えてください:
{% barcode person.BarcodeCode|default:'defaultCode' %}URL は正しそうに見えるのに、バーコード画像の生成に失敗します
バーコードの幅が狭すぎて、コード内のすべてのデータをエンコードできない可能性があります。width の値を増やしてみてください。目安として:
- RCS以外のバーコードでは、15文字を超えるコードには、デフォルトの100(レンダリング時は300px)より大きい幅が必要です。
- 30 文字を超える RCS コードには、デフォルトの 600px より大きい幅が必要です。
バーコードがテキスト ブロック(メール)に表示されない
テキストブロックに表示/非表示ロジックが適用されているか確認してください。条件によってブロックが非表示になっている場合、タグが正しくてもバーコードはレンダリングされません。ブロックの設定を開いて確認してください。
その他のリソース
- Klaviyo のクーポンコード スタートガイド — クーポンコードの作成と管理の方法(メールでクーポンのバーコードに古い
{% barcode_code %}タグを使用する方法を含む)を学びましょう。 - テキストメッセージに動的な画像を追加する方法 — エディターで動的画像タブを見つける場所など、MMSメッセージに動的な画像を追加する方法をご確認ください。
- メッセージのパーソナライゼーションリファレンス — Klaviyo で利用可能なすべてのパーソナライゼーションタグ(プロファイルプロパティ、イベント変数、フィルターを含む)のリファレンス。
- MMS の画像と GIF のベスト プラクティスを理解する — MMS メッセージにおける画像サイズとフォーマットのベスト プラクティス。