QRコードの判断の多くは直感で行われています。「角丸の方が見栄えいい」とか「ロゴを真ん中に入れよう」といった具合です。1回限りの印刷なら問題ありませんが、5,000件のダイレクトメール配信や200枚の店舗POP印刷がある場合は話が違います。QRコードのA/Bテストは実用的な代替手段です。2つの異なるバージョンを用意し、スキャン数を計測し、データに判断を委ねるのです。
統計学の知識も大規模な分析予算も不要で実行できます。
QRコードA/Bテストを準備する価値がある理由
QRコードは単なるリンクではなく、注目を集めてスキャンされるか、それとも無視されるかを左右する視覚的なプロンプトでもあります。コードサイズ、周囲の余白、コールトゥアクション(CTA)、コードの色、素材上での配置位置など、さまざまな要素が着地ページの内容とは独立してスキャン率に影響します。
着地ページの最適化だけに注力していては、ファネルの間違った部分を改善していることになります。スキャンしない人は絶対にページには到達しません。A/Bテストはこのギャップを埋めるのです。
前提条件:動的QRコードと明確な仮説
A/Bテストは動的QRコードでのみ機能します。各コードに紐付いたスキャンデータが必要だからです。静的QRコードは分析データを一切生成しないため、どのバージョンがどれだけスキャンされたかを知る手段がありません。
何かを作成する前に、1つの仮説を書き出しましょう。
「カフェのメニュー卓上カードに、QRコードの下に短いCTAラベルを追加することで、コード単体の場合と比べてスキャン率が向上する。」
1つの変数。1つの予想される方向性。他はすべて固定。色を変えて、CTAも変えて、サイズも変えるというように複数の要素を同時にテストしたら、どの変更が効いたのかわかりません。
正しい分割テストのセットアップ
ステップ1:2つのコード、1つの到達先
QRコードジェネレーターで2つの独立した動的QRコードを作成します。両方とも同じランディングURLを指すようにし、唯一の違いはテスト対象の物理的なデザイン要素です。
到達先を同じにしておけば、スキャン数の差はデザインによるものであり、ページの品質の違いではないことが保証されます。
ステップ2:印刷前にコードにラベルを付ける
明確な名前を付けます。例えば menu-card-v1-no-cta と menu-card-v2-with-cta。キャンペーン実施中の余裕のなさの中では、どちらがどちらかを忘れてしまいます。雑なラベル付けはA/Bテストのデータを無用にする最大の理由です。
ステップ3:マッチした環境に配置する
バリアントAとバリアントBを同等の場所に配置します。カフェであれば、テーブル全体にコードを交互に配置する(奇数番号のテーブルにA、偶数番号にB)。ダイレクトメール配信であれば、送付リストをランダムに分割します。地域や顧客セグメント単位での分割は避けてください。バイアスが入る恐れがあります。
マッチした配置は、ほとんどのチームが省略する部分です。Aコードがすべて入り口近くで、BコードがすべてVIP席の近くに配置されていたら、デザインではなく客の流動を測定していることになります。
ステップ4:最小実行期間とサンプルサイズを設定する
3日間や40スキャンで勝者を決めないでください。実用的な目安は以下の通りです。
| バリアント当たりの週間予想スキャン数 | 最小実行期間 |
|---|---|
| 50未満 | 4週間 |
| 50~200 | 2週間 |
| 200以上 | 1週間 |
1つのバリアントがたまたま好調な日を過ごしても、結果がゆがまないだけのスキャン数を集めることが目標です。ほとんどの中小企業のキャンペーンでは、2~4週間が現実的です。
計測する項目
各バリアントについてQRプラットフォームのダッシュボードから以下の数値を取得します。
- 総スキャン数 — 見出しとなる数字
- ユニークスキャン数 — 同じコードを2回スキャンした人を除外したもの
- 時間帯別スキャン分布 — 1つのバリアントが異なる時間帯にスキャンされているかどうかを示します。配置の効果を示すシグナルになります
- デバイス別分割(iOSとAndroid) — 決定的要因になることはまれですが、対象となるユーザーが一方に偏っている場合は有用です
QRコード分析の意思決定に直結する6つの指標を実装後に優先順位を決めるために参照してください。
スキャン率を計算するには、ユニークスキャン数÷推定インプレッション数を使います。オフラインでのインプレッション数は特定しにくいですが、テーブル数×1日当たりの推定客数、または配布したダイレクトメール数など、分母を概算できます。
テストに値する変数(そして値しない変数)
テストに値するもの:
- CTAテキスト(「本日の特別メニューをチェック」vs. テキストなし)
- コードの色(濃い青 vs. 黒、コントラスト要件の範囲内)
- コードサイズ(同じ印刷物上で40mm vs. 60mm)
- フレーム形状(正方形枠 vs. 角丸枠)
- 素材上の位置(右上 vs. 中央)
単体でテストする価値がないもの:
- 一般的なスキャン距離では見えないような微細なモジュール形状の調整
- コード自体と似すぎた背景色
- スキャン成功率に影響しない範囲でのロゴサイズ変更(ブランディングには重要ですが、スキャン率は動かない)
結果の読み方と過度な結論を避ける方法
同じ期間に同等の露出を得た場合、バリアントBが210スキャンに対して340ユニークスキャンを獲得したなら、Bが勝者です。これを展開しましょう。
ただし、以下のことは結論づけられません。勝者のデザインが異なるコンテキスト(例えば、テーブルカードではなく窓デカール)でも同じように機能するはずだと言うこと。文脈が基準スキャン率を変えます。また、勝者のデザインが「普遍的に」優れていると言うこと。このテストではこのテストで優れていたというだけです。
シンプルなログに結果を記録しましょう。
テスト:メニュー卓上カード CTA あり vs. なし
期間:2026-04-01 – 2026-04-28
勝者:CTA あり(+62% ユニークスキャン)
実施環境:22テーブル、ランチ・ディナー営業
このログは将来のキャンペーンの内部リファレンスになります。1年かけて蓄積すると、特定の対象ユーザーに対して実際に機能するものについての、真のコンテキスト固有の知識が得られます。QRコードジェネレーターは、コード単位の分析ダッシュボード機能で、これらを簡単に実行できるよう設計されています。
重要なポイント
- 動的QRコードを使用してください。静的QRコードはスキャンデータを生成しないため、A/Bテストができません。
- 1度に1つの変数だけテストしてください。複数の変数を同時に変更すると、曖昧な結果になります。
- バリアントをマッチした環境に配置し、場所やユーザーセグメントによるゆがみを避けてください。
- 各バリアントで少なくとも100ユニークスキャンを集めるか、低トラフィックの配置では最低4週間テストを実施してください。
- すべての結果を記録しておきましょう。1つのキャンペーンの知見は次のキャンペーンの出発点になります。
