0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

QRコードと短リンクのA/Bテスト:来店誘導の比較を技術的に設計する

0
Posted at

image_487d7cc9.cleaned.jpg

来店誘導でQRコードと短リンクのどちらが強いかは、掲載する媒体と導線で変わります。先に結論を書くと、QRコードか短リンクかだけを見て勝敗を決めるのは危険です。QRコードは入口の形式で、短リンクはURLの形式です。QRコードに短縮URLを埋め込めば、両者は同じURLを指せます。比較したいのは「どの接点で、どの提示方法が来店につながるか」です。

この記事では、QRコードと短リンクを来店誘導のA/Bテストで比べるときの設計、実装、計測の注意点を整理します。クリック数やスキャン数ではなく、最終的に来店をどう測るかに焦点を置きます。

比較の前に定義をそろえる

QRコードと短リンクは同じ土俵の競合ではありません。たとえば、印刷物にQRコードを載せる場合と、同じ印刷物に短いURLを文字で載せる場合では、ユーザーの行動が異なります。QRコードはカメラを向けて読み取る必要があり、短リンクはURLを入力するか、デジタル上ならクリックします。

A/Bテストでは、次のように接点と提示方法をセットで定義します。

  • QR variant:チラシや店頭POPにQRコードを掲載する
  • 短リンク variant:同じオファーを、文字の短縮URLとして掲載する
  • 共通:着地ページ、クーポン内容、掲載期間、掲載場所をできるだけ揃える

ここで注意したいのは、QRコードに短縮URLを埋め込む場合です。QR variantと短リンク variantで同じ短縮URLを使うと、どちらから来たのかが分からなくなります。variantごとに別の短縮URLを発行し、クーポンコードも分けると計測しやすくなります。

観点 QRコード 短リンク
向く接点 印刷物、店頭、オフライン SNS、メール、Web、デジタル
ユーザーの操作 カメラで読み取る クリックまたは入力する
中間指標 スキャン数、読み取り後の到達数 クリック数、到達数
主な摩擦 読み取り失敗、カメラ権限、位置 URLの見た目、入力の手間
計測の注意 読み取り後の離脱、重複スキャン プレビュー取得、ボット、重複クリック

A/Bテストの設計

来店誘導の比較では、中間指標と最終指標を分けます。中間指標はスキャン数、クリック数、着地ページ到達、クーポン表示などです。最終指標は、クーポン利用やPOS連携で確認できる来店です。クリックやスキャンだけが多いvariantが、来店でも強いとは限りません。

設計の手順は次のとおりです。

  1. 仮説を決める。例:印刷物ではQRコードの方が短リンクより来店率が高い。
  2. 割付単位を決める。来店はユーザー単位で追いにくいため、接点単位や店舗単位でランダム化する方法が現実的です。
  3. 期間を決める。曜日、天候、キャンペーン初日と終盤の差をならすため、最低でも1週間以上を確保します。
  4. 交絡を減らす。オファー、着地ページ、QRコードの設置位置、短縮URLの文字サイズを揃えます。
  5. 来店の測り方を決める。variantごとに別のクーポンコードを発行し、店頭で提示またはPOS入力してもらいます。

同じ店舗でQR variantと短リンク variantを同時に混ぜると、ユーザー同士の口コミや店員の案内で汚染されることがあります。可能なら店舗や日時で層別し、どちらのvariantも同じ条件で比較できるようにします。

実装:variant付きリダイレクトとクーポンコード

短縮URLを自前でルーティングする場合の最小例です。QR variantと短リンク variantで別の入口URLを用意し、着地ページにvariantとユーザーIDを渡します。

import express from 'express';
import cookieParser from 'cookie-parser';
import crypto from 'node:crypto';

const app = express();
app.use(cookieParser());

const LANDING = process.env.LANDING_URL!;
const VARIANTS = new Set(['qr', 'link']);

app.get('/r/:variant', (req, res) => {
  const variant = req.params.variant;
  if (!VARIANTS.has(variant)) return res.status(404).send('invalid variant');

  let vid = req.cookies?.ab_vid;
  if (!vid) {
    vid = crypto.randomUUID();
    res.cookie('ab_vid', vid, {
      maxAge: 1000 * 60 * 60 * 24 * 30,
      httpOnly: true,
      sameSite: 'lax',
    });
  }

  const url = new URL(LANDING);
  url.searchParams.set('variant', variant);
  url.searchParams.set('vid', vid);
  url.searchParams.set('coupon', variant === 'qr' ? 'STORE-QR' : 'STORE-LINK');
  res.redirect(302, url.toString());
});

この例では、variantごとにクーポンコードを分けています。来店時に店頭でクーポンコードを確認できれば、クリックやスキャンではなく来店ベースで比較できます。

短縮URLの発行には、たとえばLinkBitのようなリンク短縮サービスを利用できます。QRコードに埋め込むURLを短くしておくと、印刷物のレイアウトを崩さず、接点ごとに別URLを割り当てやすくなります。

短縮URLサービスを使う場合の疑似コードです。実際のAPI仕様に合わせて読み替えてください。

type ShortenerResponse = { shortUrl: string };

async function issueShortUrl(destination: string, variant: 'qr' | 'link') {
  const res = await fetch(process.env.SHORTENER_API_URL!, {
    method: 'POST',
    headers: {
      'content-type': 'application/json',
      authorization: `Bearer ${process.env.SHORTENER_API_KEY!}`,
    },
    body: JSON.stringify({ url: destination, tags: [variant] }),
  });
  if (!res.ok) throw new Error(await res.text());
  const data = (await res.json()) as ShortenerResponse;
  return data.shortUrl;
}

QRコードの画像生成は、たとえばqrcodeパッケージで行えます。生成した短縮URLをそのまま埋め込みます。

import QRCode from 'qrcode';

const qrShortUrl = await issueShortUrl(process.env.LANDING_URL! + '?src=flyer', 'qr');
await QRCode.toFile('flyer-qr.png', qrShortUrl, { margin: 2, width: 600 });

計測イベントの持ち方

来店までの導線を追うなら、少なくとも着地ページ到達、クーポン表示、店頭利用の3つを分けます。variantとvidを同じイベントに載せ、クーポンコードと紐付けます。

type StoreEvent = {
  variant: 'qr' | 'link';
  vid: string;
  event: 'landing_view' | 'coupon_show' | 'store_redeem';
  coupon: string;
  ts: string;
};

このとき、スキャン数やクリック数だけでなく、着地ページ到達率とクーポン利用率も確認します。QRコードは読み取り後にブラウザが開かないケースがあり、短リンクはSNSのプレビュー取得やボットでクリックが水増しされることがあります。中間指標の解釈には注意が必要です。

よくある落とし穴

  • QRコードと短リンクで着地ページやオファーが違う。比較条件が揃っていない。
  • QR variantと短リンク variantで同じ短縮URLを使い、流入元が混ざる。
  • クーポンコードを分けず、来店をvariant別に集計できない。
  • 店舗ごとの案内やPOPの位置が違い、variant以外の差が大きい。
  • 短期間の結果だけで判断し、曜日や天候の影響を無視する。
  • クリック数だけを見て、来店率が高いと誤判定する。

どちらを選ぶか

印刷物、店頭POP、オフライン広告など、その場でURLを入力しにくい接点はQRコードが向きます。SNS、メール、Web広告など、クリックできる接点は短リンクが向きます。併用する場合は、QRコードに短縮URLを埋め込み、接点IDやvariantをURLとクーポンコードの両方に持たせると、来店までの追跡が現実的になります。

来店誘導の比較で大事なのは、QRコードか短リンクかの二択にすることではありません。どの接点で、どの提示方法が、実際の来店につながるかを測れる設計にすることです。まず中間指標と来店指標を分け、variantをURL、Cookie、クーポンコード、POSのどこで追跡するかを決めてから実装してください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?