2026/10/06

【徹底解説】Shopify アプリ「シンプルチェックアウトリンク|広告・メール・DMから直接購入」でできること

@ 信条刃

Shopify

【徹底解説】Shopify アプリ「シンプルチェックアウトリンク|広告・メール・DMから直接購入」でできること

シンプルチェックアウトリンクのメイン画像

このアプリは、管理画面で商品と割引コードを選ぶと、
その内容を含んだ購入画面へのリンクを組み立ててくれます。

記事では、管理画面のすべての画面とすべての設定項目を、実際の画面と一緒に順番に見ていきます。
画面に書かれていない挙動(押せない条件・反映までの時間・上限に達したときの動き)も、
あわせて補足していきます。

後半には、アプリを使わずに同じことをやろうとした場合にどこまで書けるのか、
どこから手に負えなくなるのかも、実際のクエリと一緒に載せました。

シンプルチェックアウトリンクの仕組み

このアプリが何をしているのかを、先に押さえておきます。
ここが分かると、あとの設定項目の意味がつながります。

何を作っているのか

アプリが生成しているのは、次の形をした 1 本の URL です。

https://<ストアのドメイン>/cart/<バリエーションID>:<数量>?discount=<割引コード>

パスの /cart/ に続く数値がバリエーションの ID、コロンの後ろが数量です。
クエリの discount に割引コードを入れると、開いた時点で適用されます。

アプリの画面でやっているのは、この文字列の組み立てです。
商品をピッカーで選び、数量を決め、割引コードにチェックを入れると、
その内容がそのまま URL の各部分になります。

商品と割引を選んでチェックアウトリンクを作成する画面

目印が 2 つ付いている

生成された URL をよく見ると、商品と割引のほかに 2 つのパラメータが付いています。

...?discount=SUMMER20&attributes[_cl]=skepne88&ref=skepne88

attributes[_cl] と ref がそれです。どちらも同じ値(そのリンクの識別子)が入ります。

attributes に入れた値は、購入されたときに注文に残ります。
アプリはこれを手がかりに「どのリンクから来た注文か」を判定して、
注文数と売上を積み上げています。
成果の集計が成り立っているのは、この目印のおかげです。

ref のほうは Shopify 側の流入計測に拾われることを期待した予備の目印です。
こちらは注文の直後には読めないことがあるため、集計の主役にはしていません。

ストアのドメインで完結している

もう 1 つ注目したいのが、URL の先頭が自分のストアのドメインであることです。
どこにもアプリのドメインが出てきません。

つまりお客様がこのリンクを開いたとき、通信するのは Shopify だけです。
アプリのサーバーは 1 回も呼ばれません。

この作りの帰結は 2 つあります。

1 つは、アプリの状態にリンクが左右されないこと。
解約しても、アンインストールしても、アプリ側で障害が起きても、
すでに配った URL と印刷した QR コードは動き続けます。

もう 1 つは、クリックを数える場所が無いこと。
リンクがアプリを通らないので、開かれた回数を知る手段がありません。
分かるのは、注文まで至ったぶんだけです。

前者を取るために後者を捨てた、という設計になっています。

運用に効いてくるところ

機能の一覧としてではなく、日々の運用で何が変わるかという角度で整理します。

  • キャンペーンの準備時間が短くなります。 URL を組み立てる作業が、
    ピッカーで商品を選んでチェックを入れるだけになります。
    週に何本もリンクを作るストアほど、この差が積み上がります。
  • クーポンの「コードを入れ忘れた」という問い合わせが減ります。
    コードが URL に含まれているので、お客様が入力する場面がそもそもありません。
  • 印刷物の発注を判断しやすくなります。 リンクがアプリの稼働に左右されないため、
    「このアプリを解約したら QR が死ぬのでは」という懸念を持たずに入稿できます。
  • どの告知が売れたのかを数字で振り返れます。 リンクごとに注文数と売上が並ぶので、
    次の号でどの切り口を伸ばすかを決められます。
  • スタッフに引き継ぎやすくなります。 管理画面が日本語で、
    画面ごとに何が起きるかの説明が添えられています。
  • 表示速度の議論に巻き込まれません。 テーマを一切触らないので、
    「アプリを入れたら重くなった」という原因調査の対象から外れます。

向いていないケース

用途が合わない場面もあるので、先に書いておきます。

流入の分析を細かくやりたいストアには向きません。
取れるのは注文数と売上までで、何人が開いたかは分かりません。
広告の出稿面ごとに開封率まで見たいのであれば、計測用のリダイレクタを持つ仕組みが要ります。

リンクの内容を頻繁に差し替えるストアにも向きません。
商品も割引も URL 自体に入っているため、中身を変えたら別のリンクになります。
「同じ URL のまま今日は A 商品、明日は B 商品」という運用はできません。

定期購入(サブスクリプション)を売っているストアでは、その商品は載せられません。
Shopify 側の仕様で販売プランが適用されないためで、これはアプリ側では回避できません。

秒単位で止めたいリンクがあるストアも注意が必要です。
公開の終了日は翌日の集計で処理されるため、止まるまで最大 1 日ずれます。
確実に止めたいときは、後述の「無効化」を手動で行うことになります。

数百本のリンクを常時抱えるストアでは上限に当たります。
1 ストア 200 件までで、アーカイブ済みも件数に含まれます。

料金プラン

プランは 1 つだけです。

  • 月額 $5.99
  • 年額 $59.99(2 か月分無料)
  • 7 日間の無料体験

機能によるプランの出し分けはありません。契約すればすべての機能が使えます。

インストール

Shopify の管理画面からインストールします。

1. 管理画面の左下にある「設定」を開きます。

Shopify 管理画面の左下にある設定ボタン

2. 「アプリと販売チャネル」を選び、Shopify App Store を開きます。

設定画面のアプリと販売チャネルから Shopify App Store を開く

3. 「シンプルチェックアウトリンク」を検索し、Shopify App Store の掲載ページからインストールします。

Shopify アプリストアのシンプルチェックアウトリンクの掲載ページ

権限の確認画面では、商品・注文・割引の読み取りと、チェックアウトの検証が求められます。
お客様の氏名・メールアドレス・住所・電話番号は読み取りません。
集計するのはリンクごとの注文数と売上金額だけです。

テーマの編集は必要ありません。ストアフロントには何も表示しないアプリだからです。

アプリ管理画面の構成

サイドバーは 2 つ(日本語で使っているときは 3 つ)です。

  • 設定 … アプリを開いたときに最初に出る画面。言語設定など
  • チェックアウトリンク … 主機能。リンクの一覧・作成・詳細
  • よくある質問 … 日本語のときだけ出ます

シンプルチェックアウトリンクの設定画面。言語設定とおすすめアプリが並ぶ

各画面の説明

設定

アプリを開くと最初に出る画面です。

設定画面。言語設定とおすすめアプリ

言語設定では、管理画面の表示言語を選びます。
「言語を選択」のプルダウンから選び、「変更する」ボタン を押すと切り替わります。
選ばずにプルダウンを変えただけでは切り替わらないので、ボタンを押すのを忘れないでください。

対応しているのは日本語・英語を含む 20 言語です。
選んだ言語はブラウザに保存されます。 別のパソコンから開くと既定の言語に戻ります。
スタッフごとに表示言語を変えられる、という言い方もできます。

おすすめアプリには、当社が提供している他のアプリが並びます。
右上の × で閉じられます。機能には影響しません。

設定画面のおすすめアプリ

画面の右上には 「チェックアウトリンク」 というボタンがあります。押すと主機能の一覧へ移動します。
サイドバーからでも同じ画面へ行けます。

チェックアウトリンク(一覧)

このアプリの主役の画面です。作ったリンクがすべてここに並びます。

チェックアウトリンク一覧。上限と集計の案内、有効・アーカイブ済みのタブ、注文数と売上の列

画面の上に、常に 2 つの案内が出ています。どちらも運用に直結する内容です。

リンクの上限について … リンクは 1 ストアあたり 200 件までです。
現在の件数もここに出ます。
注意したいのは、アーカイブ済みのリンクもこの 200 件に含まれることです。
データの保存先の都合によるもので、上限に達したらアーカイブ済みのリンクを
「完全に削除」して空けるしかありません。

成果の集計について … 注文数と売上は 1 日 1 回の集計です。
注文の直後には反映されません。
一度も集計していないときは「まだ集計していません」、集計済みのときは最後に集計した日時が出ます。
ここに日時が出ていれば、集計は動いています。

一覧の列は 5 つです。

  • リンク名 … 作成時に付けた名前と、割引コードのバッジ。名前を付けなかったときは商品名が入ります
  • 商品 … リンクに載せた商品と数量。複数あるときは省略表示になります
  • 注文数 … 集計済みの注文件数
  • 売上 … 集計済みの売上金額
  • 詳細 … 押すとそのリンクの詳細画面へ移ります

一覧の列。リンク名・商品・注文数・売上・詳細

リンク名の下に出る緑のバッジは、そのリンクに含まれている割引コードです。
一覧を眺めるだけで「どのリンクにどのクーポンを載せたか」が分かります。

「有効」「アーカイブ済み」のタブ

リンクは 2 つのタブに分かれます。それぞれ件数が横に出ます。

アーカイブ済みタブを開いた状態

タブの選択は URL に残りません。一覧へ戻るたびに「有効」から表示されます。
日々の運用で見たいのは有効なリンクなので、そちらを既定にしてあります。

複数のリンクをまとめて操作する

行の左端のチェックボックスで複数選べます。選ぶと上部に操作が出ます。

複数のリンクを選択して一括操作バーを出した状態

できるのは 3 つです。

  • アーカイブする … 選んだリンクを「アーカイブ済み」タブへ移します
  • アーカイブから戻す … 「アーカイブ済み」タブで選んだリンクを「有効」へ戻します
  • 完全に削除する … リンクの定義と成果を消します。取り消せません

ここで 1 つ、知らないと戸惑う挙動があります。
一括の「完全に削除する」は、選んだものが全部アーカイブ済みでないと実行できません。
有効なリンクが 1 件でも混ざっていると、全体を拒否します。

「消せるものだけ消す」という動きにしなかったのは、
何件消えたのか分からないまま成果が失われるのを避けるためです。

「商品が購入できないリンクがあります」の表示

リンクに載せた商品が削除・非公開・在庫切れになると、一覧に印が出ます。
壊れたリンクを配り続ける事故を防ぐための確認です。

ただし、この確認は完全ではありません。
在庫があるように見えても、実際の購入画面で「在庫切れ」になる商品が存在します
(他社倉庫から発送する商品などで起こります)。
印が出ていなくても、大事なキャンペーンの前には実際にリンクを開いて確かめてください。

リンクの作成 — 商品

一覧の右上「リンクを作成」から開きます。画面は 3 つのカードに分かれています。

リンクの作成画面の商品カード

「商品を選択」ボタン を押すと、Shopify 標準の商品選択画面が開きます。
複数の商品を選べますし、同じ商品の違うバリエーションを別々に選ぶこともできます。

Shopify 標準の商品選択画面。バリエーション単位で選べる

この画面は Shopify が用意している標準の商品選択です。
商品名で検索でき、商品の下にバリエーションが並ぶので、
「S サイズだけ」「ギフトカードの $50 だけ」といった選び方ができます。
画像の例では Gift Card の下に $10 / $25 / $50 / $100 の 4 つが出ています。

選ぶと、作成画面の商品カードに行として追加されます。

商品を選んだ状態。数量と削除が行ごとに出る

選んだあとは、行ごとに数量を変えたり、削除で外したりできます。
セット販売のリンクを作るときは、ここで数量を調整します。

カードの下には、定期購入の商品は載せられない旨の案内が常に出ています。
Shopify の仕様でカートパーマリンクでは定期購入が適用されず、
通常購入として売れてしまうためです。選ぼうとすると作成画面が止めます。

商品を積みすぎたときも止まります。
URL の長さが 1,800 文字を超えると作成できません。
ブラウザ側の上限(およそ 2,000 文字)に当たるのを防ぐためで、
超えたまま配るとカートの中身が黙って欠けます。

リンクの作成 — 割引コード

割引コードのカード。ストアに登録済みのコードが一覧で出る

ストアに登録済みの割引コードが一覧で出ます。使いたいものにチェックを入れてください。
割引を使わないリンクも作れます。
割引コードが 1 つも無いストアでは、その旨の案内が出ます。

カードの下には、割引コードが URL に含まれるため第三者に共有され得ること、
Shopify 側で「利用回数の上限」「有効期限」「1顧客1回」を設定しておくことを勧める案内が出ます。

割引の詳細

コードにチェックを入れると、その中身が展開されます。

割引コードを選ぶと表示される割引の詳細。8 項目が並ぶ

並ぶのは 8 項目です。

  • 割引内容 … 「20% オフ」「1,000 円オフ」など
  • 対象商品 … すべての商品か、特定の商品・コレクションのみか
  • 最低購入条件 … 金額や数量の条件。無ければ「なし」
  • 対象顧客 … すべての顧客か、特定の顧客セグメントか
  • 有効期間 … 開始日と終了日
  • 利用回数 … 「0 / 100 回」のように、使った回数と上限
  • 1顧客1回 … 同じお客様が 1 回しか使えない設定かどうか
  • 併用 … 他の割引と併用できるかどうか

ここをわざわざ展開しているのには理由があります。
この条件が外れていても、Shopify はエラーを返しません。
対象外の商品・条件未達・対象外の顧客・上限到達のいずれでも、
割引が適用されないだけでリンクは普通に開きます。

気づけるのは「割引の入っていない注文」を見たときです。
だから、選ぶ前に読める位置に出しています。

3 種類の警告

割引の組み合わせによっては、警告が出ます。

  • この割引コードは無防備です … 利用回数の上限・有効期限・1顧客1回のいずれかが未設定のとき。
    URL に載るコードなので、Shopify 側で守っておくことを勧めています
  • この割引コードは併用できません … 併用できない組み合わせを 2 つ以上選んだとき。作成を止めます
  • リンクの商品が割引の対象に入っていません … 載せた商品が割引の対象外のとき。
    対象がコレクションで指定されている場合は中身を確認できないため、断定せず「確認してください」という表現になります

割引コードの上限や期限は、Shopify のディスカウント画面で設定します。

Shopify のディスカウント一覧画面

リンクの作成 — 設定

作成画面の設定カード。6 つの項目が並ぶ

6 つの項目があります。

リンク名 … 管理画面で見分けるための名前です。一覧と詳細画面に出ます。
空欄なら商品名が使われます。お客様には見えません。
「10月号メルマガ用」「店頭POP(渋谷)」のように配る場所を入れておくと、
あとで成果を読み解きやすくなります。

公開の終了日 … カレンダーから選びます。空欄なら期限なしです。
終了日の当日までは購入できます。
翌日の集計で自動的に無効化される仕組みなので、止まるまで最大 1 日ずれます。
「この時刻ぴったりに止めたい」という使い方には向きません。

注文メモ … 入力した文章が、注文の「メモ」欄に表示されます。
「メルマガ 10月号経由」のように入れておくと、注文画面を見ただけで流入元が分かります。

遷移先 … リンクを開いたお客様が最初に見る画面です。2 つから選べます。

  • 購入画面に直行する(初期値)… カートを飛ばして、いきなり購入画面が開きます
  • カートページを表示する … 商品が入ったカートページが開きます

キャンペーンで 1 商品だけを売るなら前者、
ついで買いを狙いたいときや送料の条件をカートで見せたいときは後者が向いています。

言語コード … ja や en のように入力すると、その言語で購入画面が開きます。
空欄ならストアの既定言語です。
英語のメールマガジンから来たお客様には英語の購入画面を出す、といった使い分けができます。

入れる言語は、Shopify の言語設定で公開しているものにしてください。
公開していない言語コードを入れても切り替わりません。

Shopify の言語設定画面

Shop Pay で開く … チェックを入れると、Shop Pay の購入画面が開きます。
Shop Pay に登録済みのお客様が多いストアでは、入力の手間が減ります。

生成されるリンク

生成されるリンクのカード

入力に合わせて URL がその場で組み上がります。文字数も表示されるので、
1,800 文字の上限に近づいていないかをここで確認できます。

カードの説明文には、このリンクがストアへ直接つながること、
アプリを削除しても動き続けること、そのかわりクリック数は取得できないことが書かれています。

リンクの詳細 — URL とコピー

一覧の「詳細」を押すと、そのリンクの画面が開きます。

リンクの詳細画面の上半分。URL とコピー・複製ボタン

URL の下に 3 つのボタンが並びます。

  • リンクをコピー … クリップボードにコピーし、「コピーしました」と表示されます
  • 開いて確認する … 新しいタブでそのリンクを開きます。配る前の確認に使います
  • 複製 … このリンクの内容を引き継いだ作成画面を開きます

ここで気づくのが、「編集」ボタンが無いことです。
意図的に作っていません。

商品も割引も URL 自体に入っているため、既存のリンクを書き換えても
すでに配った URL の中身は変わりません。
管理画面の表示と実物が食い違い、しかも同じリンクの成果として新旧の注文が混ざってしまいます。
内容を変えたいときは複製して新しいリンクを作り、古いほうをアーカイブするのが安全です。

なお、URL に入らない値(リンク名・公開の終了日)は、あとから変えても食い違いは起きません。

リンクの中身

リンクの中身のカード。カートへ入る商品と割引コード

そのリンクを開いたときにカートへ入る商品と、適用される割引コードが並びます。

カードの下に、設定していない割引が入ることがある旨の注意が出ています。
お客様が以前に使った割引コードがブラウザに残っていると、
Shopify の仕様でその割引も一緒に適用されることがあります。アプリからは外せません。
確認するときはシークレットウィンドウで開いてください。

QR コード

QR コードのカード。PNG と SVG でダウンロードできる

リンクごとに QR コードが自動で作られ、画面に表示されます。
生成はブラウザ側で行っているので、別のサービスにリンクを渡すことはありません。

  • PNG をダウンロード … 1024px の画像です。そのまま貼るならこちら
  • SVG をダウンロード … 拡大しても画質が落ちません。印刷して大きく使うならこちら

注意点が 1 つあります。URL が長いほど QR は細かくなります。
商品を積むほど URL は伸び、細かくなりすぎると印刷しても読み取れません。
危ない密度になると「印刷では読み取りにくい可能性があります」という警告が画面に出ます。
その表示が出たら、商品の数を減らしたリンクを別に作ることを検討してください。

成果

詳細画面の成果・止め方・無効化・アーカイブ

このリンク経由の注文数と売上が出ます。1 日 1 回の集計なので、注文の直後には反映されません。

集計は、注文に付いた目印(attributes)を頼りにリンクを特定しています。
リンクを開いて購入すると、その注文に目印が残る仕組みです。

このリンクを止めるには

リンクはストアへ直接つながるため、アプリからは停止できません。
このカードでは、Shopify 側で止める方法を 2 つ案内しています。

  1. 割引コードを無効にする … 割引だけが効かなくなります。「割引を開く」ボタンからその割引の画面へ行けます
  2. 商品を非公開にする … 購入そのものができなくなります。「商品を開く」ボタンからその商品の画面へ行けます

どちらも Shopify の標準機能なので確実に効きますが、
そのリンク以外にも影響が及びます(同じ割引コードを使った他のリンクも止まります)。
リンク単位で止めたいときは、次の「無効化」を使います。

このリンクを無効化

このリンクを無効化のカード

配布済みのリンクから来た購入を、購入画面でブロックします。
リンク自体は開けますが、購入を完了できなくなります。

「無効化する」を押すと確認が出て、もう一度押すと有効になります。
無効化済みのリンクには「無効化済み」のバッジが付き、
「無効化を解除する」でいつでも戻せます。

実際の見え方は、購入画面のエラーではなく、ストアのトップページへ戻される動きになります。

カードの説明文にあるとおり、これは配布を止めるための機能で、悪意への対策ではありません。
URL からリンクの目印を取り除かれた場合は素通りします。
メールや QR コードから来る通常のお客様には確実に効きます。

もう 1 つ知っておきたいのが、Shopify 側でチェックアウトの検証を無効にすると、
無効化は一切効かない
ことです。
効いていないときは画面に「無効化が効いていません」と出ます。

チェックアウトまわりの設定は、Shopify の設定 > チェックアウトにあります。

Shopify のチェックアウト設定画面

なお、アプリをアンインストールすると無効化は解除され、リンクは再び使えるようになります。
「アプリが無くなってもリンクは死なない」という設計に合わせてあります。

アーカイブ

アーカイブのカード

一覧を整理するための機能です。「アーカイブ済み」タブへ移るだけで、
成果(注文数・売上)も無効化の状態もそのまま残り、いつでも戻せます。

確認のダイアログにも出ますが、アーカイブしても配布済みのリンクは止まりません。そのまま購入できます。

このアプリでは、一覧の整理(アーカイブ)と購入の停止(無効化)を分けています。
整理のつもりの操作で売上が止まるのは、エラーの出ない売上損失になるためです。

完全に削除

リンクの定義と成果を消します。取り消せません。
実行できるのはアーカイブ済みのリンクだけです。

ここにも 1 つ、意図的な作りがあります。
完全に削除しても、無効化は解除されません。
解除してしまうと「削除したら再び買えるようになった」という、より危険な逆転が起きるためです。
そのかわり、削除後はアプリから無効化を解除できなくなります。確認画面にもその説明が出ます。

よくある質問

よくある質問の画面

日本語で使っているときだけサイドバーに出ます。
よくある問い合わせへの回答が並びます。

テーマへの追加

このアプリにテーマへの追加はありません。

ストアフロントに何も表示しないアプリなので、テーマ拡張を持っていません。
テーマに JavaScript も CSS も 1 バイトも追加しないため、
ストアの表示速度に影響しません。

表示速度を気にしてアプリを増やせないストアでも、この点は安心して導入できます。

運用の組み立て方

画面の説明だけでは見えにくい、実際の回し方をまとめます。

リンク名の付け方を先に決めておく

リンク名は管理画面でしか使われないので、後回しにされがちです。
ところが数が増えたとき、一覧を見て中身を思い出せるかどうかがここで決まります。

おすすめは、配る場所と時期を入れる ことです。

  • IG プロフィール 2026-10
  • メルマガ 10月号 上段バナー
  • 店頭POP 渋谷店 秋冬

商品名はすでに一覧の「商品」列に出ているので、リンク名に入れる必要はありません。
同じ商品を複数の経路で売るときほど、この付け方が効いてきます。

注文メモと組み合わせる

リンク名は管理画面の中だけのものですが、注文メモは注文画面に出ます。
リンク名と同じ文字列を入れておくと、
注文を見た担当者が「この注文はどこから来たのか」をその場で判断できます。

集計は日次なので、リアルタイムに知りたい場面ではこちらのほうが早く分かります。

割引コードは「リンク専用」を作る

既存の割引コードをそのまま載せることもできますが、
そのリンク専用のコードを作っておくと、あとの判断が楽になります。

理由は「このリンクを止めるには」の選択肢が増えるからです。
専用コードなら、そのコードを無効にするだけでそのリンクの割引だけを止められます。
他のリンクや店頭で配ったクーポンには影響しません。

作るときは、Shopify のディスカウント画面で利用回数の上限・有効期限・1顧客1回を
設定しておいてください。アプリ側でも、これらが未設定だと警告が出ます。

配る前に必ず「開いて確認する」を押す

詳細画面の「開いて確認する」は、新しいタブで実際のリンクを開きます。
カートに入る商品と割引が意図どおりかを、配る前に目で見られます。

このときシークレットウィンドウで開くことをおすすめします。
普段使っているブラウザには過去に使った割引コードが残っていることがあり、
そのままだと「設定していない割引も一緒に入った状態」が見えてしまうためです。

終わったキャンペーンはアーカイブへ

終わったリンクをそのまま「有効」タブに置いておくと、
一覧が伸びて今動いているものが埋もれます。

アーカイブは購入を止めません。あくまで一覧の整理です。
成果の数字も残るので、あとから「去年の同じ時期はどうだったか」を見返せます。

200 件の上限に近づいたときだけ、アーカイブ済みのものを完全に削除して空けてください。
削除すると成果の数字も消えるので、必要ならその前に控えておくことをおすすめします。

印刷物に使うときは終了日を入れない

紙に刷った QR コードは回収できません。
終了日を入れておくと、その日を境に「読み取れるのに買えない QR」が世の中に残ります。

印刷物用のリンクは終了日を空欄にしておき、
止めたくなったときに「無効化」で対応するほうが、判断を後ろ倒しにできます。

コードで自作する場合

カートパーマリンク自体は Shopify の公式仕様なので、アプリを使わずに作ることもできます。
どこまでできるのかを書いておきます。

URL を手で組み立てる

いちばん素朴な方法です。バリエーション ID が分かっていれば、URL を書くだけで済みます。

https://example.myshopify.com/cart/43075696853067:1?discount=SUMMER20

43075696853067 がバリエーションの数値 ID、:1 が数量です。
複数の商品を入れたいときはカンマで区切ります。

https://example.myshopify.com/cart/43075696853067:1,43075696885835:2

問題はバリエーション ID の調べ方です。この値は商品一覧の画面には表示されません。
商品の編集画面を開いて URL の末尾を見るか、次のように API から引くことになります。

GraphQL Admin API でバリエーション ID を引く

商品とバリエーションをまとめて取るなら、次のクエリになります。
first: 10 は取得件数で、商品が多いストアではページ送りが必要になります。

query {
  products(first: 10) {
    edges {
      node {
        title
        variants(first: 10) {
          edges { node { id title } }
        }
      }
    }
  }
}

商品の一覧そのものは、Shopify の商品管理画面から確認できます。
ただしバリエーションの数値 ID は、この一覧には出てきません。

Shopify の商品管理画面

上のクエリで返ってくる id は gid://shopify/ProductVariant/43075696853067 という形式です。
カートパーマリンクに使うのは末尾の数値だけなので、切り出す必要があります。

ここは間違えやすいところです。gid://... のまま URL に入れても 404 にはならず、
「空のカート」に飛ぶという形で失敗します。エラーが出ないので気づきにくい挙動です。

成果を測ろうとすると、途端に大変になる

「どのリンクが売れたか」を知りたい場合、URL に目印を付けて注文と突き合わせることになります。

https://example.myshopify.com/cart/43075696853067:1?attributes[_src]=mailmagazine_10

attributes に入れた値は注文の customAttributes に残るので、
Admin API で注文を走査すれば集計できます。

query {
  orders(first: 50, query: "created_at:>=2026-09-01") {
    edges {
      node {
        name
        customAttributes { key value }
        totalPriceSet { shopMoney { amount currencyCode } }
      }
    }
  }
}

このクエリは、指定した日付以降の注文を 50 件まで取り、
それぞれの customAttributes(リンクに載せた目印)と合計金額を返します。
目印ごとに金額を足し合わせれば、リンク別の売上が出せます。

ここまでは書けます。ただし実運用にするには、
定期実行の仕組み、前回どこまで数えたかの記録、
同じ注文を二重に数えない工夫が必要になります。
とくに「前回の続きから数える」処理は、境界の扱いを誤ると
実行のたびに売上が水増しされるという形で壊れます。

自作とアプリの線引き

  • リンクを 1〜2 本作るだけ … 手で組み立てれば足ります
  • キャンペーンを何本も回す・成果を見る・QR を刷る・期限で止める … アプリの領分です

他のチェックアウトリンクアプリとの使い分け

チェックアウトリンク系のアプリはいくつかありますが、
このアプリと併用するという発想は基本的に必要ありません。
同じ役割のアプリを 2 つ入れても、リンクの管理場所が 2 か所になるだけだからです。

選び分けの軸になるのは、次の 2 点です。

1. リンクをアプリのサーバーに通すかどうか

前述のとおり、このアプリはストアの URL をそのまま使います。
アプリを経由する方式のアプリは、管理画面からリンクを止められるという利点があります。
その代わり、リンクの生死がアプリの稼働に左右されます。

印刷物に刷るなら前者、Web だけで完結してリンクを頻繁に止めたいなら後者、という分け方になります。

2. 管理画面の言語

日本語で運用しているストアでは、日々触る画面が日本語かどうかが効いてきます。
スタッフに引き継ぐときの説明コストも変わります。

なお、このアプリを入れても他のアプリのリンクは壊れません。
カートパーマリンクは Shopify の公式仕様なので、
別のアプリで作ったリンクもそのまま動き続けます。
乗り換えを検討する場合は、既存のリンクを止めずに並行運用してから切り替えられます。

まとめ

「シンプル チェックアウトリンク」は、
商品と割引を含んだ購入画面直行リンクを、日本語の管理画面で作れるアプリです。

作ったリンクはストアの URL そのものなので、アプリを解約しても動き続けます。
チラシや商品同梱物に QR コードを刷るような、
配ってしまったら回収できない販促にこそ向いています。

そのかわりクリック数は測れません。
「何人が開いたか」を知りたい運用には向かない、という割り切りの上に立っています。

割引コードの無防備さを作る前に警告する、
一覧の整理(アーカイブ)と購入の停止(無効化)を分ける、
完全に削除しても無効化は解除しない。
どれも「エラーが出ないまま売上が止まる/漏れる」状況を避けるための作りです。

おすすめ Shopify アプリ

当社では、この記事のアプリ以外にも Shopify アプリを提供しています。

  • シンプル画像レイアウト|お手軽フォトギャラリー&グリッド …
    グリッド・メイソンリー・カルーセル・モザイクの画像ギャラリーを作成できます。
    写真の上にピンを置いて商品ページへリンクすることもできます。
  • シンプル外部購入リンク|お手軽アフィリエイト対応 …
    商品ページに Amazon・楽天などへのボタンを並べられます。
    Shopify で販売しない商品はカートボタンを隠して、カタログとして使えます。

いずれも管理画面は日本語で、7 日間の無料体験からお試しいただけます。

© 2021 powerd by UnReact