商品が売り切れたとき、Shopify の商品ページに出るのは「売り切れ」のボタンだけです。お客様は次にいつ買えるのかが分からないまま、別のストアへ移ってしまいます。店側は仕入れ先から入荷日を聞いていることが多いのに、その日付を商品ページに出す手段が Shopify の標準機能にはありません。
「シンプル再入荷日表示|入荷予定日・在庫復活日告知」は、この隙間を埋めるために当社(UnReact)が開発した Shopify アプリです。商品にチェックを付けて日付を保存すると、その商品のページに「2027年4月15日 入荷予定」という案内が出るようになります。日付がまだ分からない商品は「入荷時期未定」として出せますし、同じ便で入る商品をまとめて選んで 1 回で保存することもできます。
この記事では、このアプリでできることを管理画面の全画面とテーマエディタの全設定項目まで掘り下げて解説します。後半では Liquid で自作する場合の手順と、配送予定日を計算するタイプのアプリとの使い分けも書いています。
「シンプル再入荷日表示」は、Shopify の商品ページに入荷予定日を表示するアプリです。英語名は UR: Restock&Back in Stock Date で、Shopify App Store から無料でお試しいただけます。

似た名前の機能に「再入荷通知」がありますが、役割が違います。再入荷通知はお客様にメールアドレスを登録してもらい、在庫が戻ったときにメールを送る仕組みです。一方このアプリは、登録も送信もしません。商品ページを見た瞬間に「いつ買えるか」が分かるように、店が知っている日付をそのまま見せます。
もう一つ似ているのが「配送予定日(Estimated Delivery Date)」のアプリです。こちらは「注文したらいつ届くか」を処理日数と配送日数のルールから計算します。在庫がある商品向けの機能で、売り切れ商品の入荷日を扱う口はありません。「シンプル再入荷日表示」はルールで計算せず、店が入力した実際の日付だけを扱います。この違いは後半の「配送予定日アプリとの違いと使い分け」で整理します。
アプリの構成は次のとおりです。
設定はとても短い手順で終わります。管理画面で商品にチェックを付け、日付を入れて保存するだけです。テーマのコードを触る必要はなく、テーマエディタで置き場所と見た目を決めれば完成します。

同じ便で入荷する商品が何十点もある場合、1 点ずつ商品編集画面を開くのは現実的ではありません。このアプリは商品一覧でチェックを付けた商品すべてに、同じ日付を 1 回の保存で書き込みます。内部では Shopify の上限に合わせて 25 件ずつに分けて送るので、店側が件数を気にする必要はありません。
入荷が遅れて日付を過ぎてしまったとき、古い日付が出続けるのは信頼を損ないます。このアプリは買い手のブラウザで日付を判定し、過ぎていれば自動的に「入荷時期未定」の表示へ切り替えます。店が慌てて設定を変える必要はありません。

文言と日付の並びは買い手の言語に合わせて自動で切り替わります。日本語のお客様には「2027年4月15日 入荷予定」、英語のお客様には「Restocking on 4/15/2027」、ドイツ語のお客様には「Wieder verfügbar am 15.4.2027」と出ます。月の名前を翻訳せず、年・月・日を数字で組み立てているので、どの言語でも表記が崩れません。
表示する条件、日付の並び順、文言、配置、アイコン、色、文字の大きさ、余白、追加の CSS を、テーマエディタで変更するたびにプレビューへ反映しながら調整できます。

正直に書いておくと、次の点は向き不向きが分かれます。
料金は月額 3.99 ドルの単一プランで、機能の出し惜しみはありません。年額プランは 39.99 ドルで、2 か月分お得になります。インストールから 7 日間は無料で試せるので、まずはよく売り切れる商品 1 つで動きを確かめられます。
プランは Shopify の課金画面で選ぶ方式です。アプリ側に課金の設定画面は無く、Shopify App Store のページに載っている価格がそのまま適用されます。
インストールの手順は他の Shopify アプリと同じです。Shopify 管理画面の左下にある「設定」から「アプリと販売チャネル」を開き、Shopify App Store を開いて「UR: Restock」と検索します。

アプリの詳細ページで「インストール」を押します。公開したばかりのアプリは検索結果の下のほうに出ることがあるので、見つからないときは Shopify App Store のアプリページを直接開いてください。

権限の確認画面で使う権限は「商品」と「オンラインストア」の 2 つです。入荷予定日を商品に保存するために商品の権限を、テーマの一覧を出すためにオンラインストアの権限を使います。顧客や注文のデータには一切触れません。

アプリの管理画面は 2 画面だけです。左のメニューに「入荷予定日」と「設定」が並び、インストール直後は「入荷予定日」が開きます。日本語で表示しているときだけ、microCMS に登録した「よくある質問」があれば 3 つ目のメニューが出ます。

見た目に関する設定はテーマエディタ側にあり、管理画面には置いていません。管理画面は「どの商品にいつ入るか」だけに集中した作りです。
画面の一番上には「設定した内容が商品ページに反映されるまで、時間がかかることがあります。」というバナーが常に出ています。これは消せません。デメリットの章で書いた CDN の反映遅れを、店が忘れないように置いてあります。
その下が「選択した商品に設定する」フォームです。下の商品一覧でチェックを付けた商品に対して、まとめて設定を行います。
「入荷予定日」の欄をクリックするとカレンダーが開きます。日付をクリックして選んでも、キーボードで「2027/03/31」と直接打ってもかまいません。

入力できる日付には決まりがあります。形式が YYYY/MM/DD でないと「YYYY/MM/DD形式で入力して下さい」、2027/02/30 のように存在しない日付だと「無効な日付です」と出て保存が止まります。過去の日付は入力できますが、買い手の画面では「入荷時期未定」として扱われます。
フォームの下に「商品を検索」欄があります。「商品名で検索」と薄く出ている欄に語句を入れて「検索」を押すと、商品名にその語句を含む商品だけが一覧に残ります。部分一致なので、「Snowboard」と入れれば名前のどこかに Snowboard を含む商品が全部出ます。検索語は URL に付くので、ブラウザの「戻る」で検索前に戻れます。

一致する商品が無いときは「商品がありません」と出ます。検索語を消してもう一度「検索」を押せば全商品に戻ります。

商品一覧には 1 ページに 50 件ずつ商品が並びます。列は 3 つです。

行の左端のチェックボックスで商品を選択します。一番上のチェックボックスを押すと、表示中のページの全商品をまとめて選べます。選ぶとフォームの件数表示が増え、保存ボタンが押せるようになります。

一覧の末尾には「前へ」「次へ」のボタンがあり、商品が 50 件を超えると「次へ」が押せるようになります。検索で絞り込んでいるときも同じようにページを送れます。

ここで一つ注意があります。一覧の「在庫」は Shopify に登録された在庫数の合計で判定しています。在庫を追跡していない商品は在庫数が 0 なので、一覧では「在庫切れ」と出ます。しかしストアフロントでは購入できる商品として扱われるため、表示する条件が既定のままだと、その商品には入荷予定日が出ません。
操作は 3 種類あり、どれも「商品を選ぶ → 操作を選ぶ → 保存」の流れです。
入荷予定日を設定する は、選んだ商品すべてに同じ日付を書き込みます。保存が終わると画面下に「1件の商品に設定しました」のようなトーストが約 10 秒出て、一覧の列に日付が入ります。同じ商品に前から「入荷時期未定」が付いていた場合、日付を入れると未定は自動で外れます。両方が同時に付くことはありません。

入荷時期未定にする を選ぶと、日付の入力欄が消えます。保存すると一覧に「入荷時期未定」のバッジが付き、商品ページには「入荷時期未定」と表示されます。前に入れていた日付は消えます。

設定を消す は、日付と未定の両方を消します。一覧は「—」に戻り、商品ページには何も出なくなります。このときのトーストも「1件の商品に設定しました」という文言なので、消した件数として読んでください。


保存の裏側も書いておきます。データは商品のメタフィールドとして記録されます。入荷予定日は date 型、未定フラグは boolean 型で、どちらもアプリ専用の名前空間に入ります。このメタフィールドは Shopify 標準の商品編集画面には表示されず、編集もできません。入力の経路をアプリに一本化しているためです。
一度に選ぶ商品数に上限はありません。内部で 25 件ずつに分けて送り、Shopify との通信が混み合って失敗したときは 1 秒待ってもう一度だけ送り直します。それでも失敗した分があると、トーストが「10件に設定しました。2件は失敗しました」のように件数で知らせます。失敗した商品だけ選び直して保存すれば復旧できます。全件失敗したときは「設定に失敗しました」と出ます。
左メニューの「設定」で開く画面です。上の「入荷予定日」のリンクで主画面に戻れます。最初のカードが「テーマに入荷予定日の表示を追加」です。

カードの下には「商品ページに入荷予定日を追加する」という青いバナーがあり、テーマエディタで手動追加できることを案内しています。日本語で表示しているときは、自動追加が失敗した場合の案内も黄色いバナーで出ます。
「言語設定」のカードでは、「言語を選択」で管理画面の表示言語を選び、「変更する」を押すとその場で切り替わります。

選べるのは、チェコ語、デンマーク語、ドイツ語、英語、スペイン語、フランス語、イタリア語、オランダ語、ノルウェー語(ブークモール)、ポーランド語、ポルトガル語(ブラジル)、ポルトガル語(ポルトガル)、フィンランド語、スウェーデン語、トルコ語、タイ語、日本語、簡体字中国語、繁体字中国語、韓国語の 20 言語です。この設定はブラウザに保存されるため、別のブラウザや別の PC で開くと Shopify 管理画面の言語に合わせた表示に戻ります。ストアフロントの言語には影響しません。
一番下の「おすすめアプリ」には、同じ開発元の他のアプリが並びます。名前を押すと App Store のページが新しいタブで開き、右上の「×」で一覧を閉じられます。

ブロックをテーマに追加する方法は 2 つあります。
1 つ目は「設定」画面の「テーマに追加」です。押すだけで商品ページのメインセクションにブロックが入った状態でテーマエディタが開きます。
2 つ目は手動です。テーマエディタで商品ページを開き、「商品情報」セクションの「ブロックを追加」を押して「アプリ」タブを選ぶと、「シンプル再入荷日表示|入荷予定日・在庫復活日告知」のブロックが出てきます。自動追加がうまくいかないテーマでも、この方法なら確実に置けます。

どちらの方法でも、位置を決めたらテーマエディタ右上の「保存」を押してください。押さずに閉じると追加は無かったことになります。ブロックは商品ページのテンプレートにだけ追加でき、コレクションページやカートには置けません。
ブロックの設定パネルは「表示設定」「文言設定」「スタイル設定」「余白設定」「追加設定」の 5 グループに分かれています。テーマエディタで商品ページを開き、左のセクション一覧で「シンプル再入荷日表示|入荷予定日・在庫復活日告知」を押すか、プレビュー上のブロックをクリックするとパネルが開きます。


どちらも空欄のままにしておくと、買い手の言語に合わせた標準の文言が 20 言語で自動的に出ます。文言を入力すると、すべての言語の買い手に同じ文言がそのまま出ます。海外のお客様が多いストアでは空欄のままがおすすめです。「入荷予定の文言」に {date} を入れ忘れると日付が出なくなるので、変えるときは必ず含めてください。


余白はいずれも -100〜100px の範囲を 2px 刻みで指定できます。マイナスにすると上や下の要素に近づけられます。

設定を保存すると、商品ページには次のように表示されます。PC でもスマホでも、購入ボタンの下に角丸の帯で出ます。


「入荷時期未定」にした商品や、日付を過ぎた商品では、日付の代わりに未定の文言が出ます。

用途に合わせた設定の例も並べておきます。
「表示する条件」を「常に表示」にすると、在庫のある商品にも入荷予定日が出ます。定期入荷の商品で次回分を予告したいときに使えます。

「テキスト配置」を「中央揃え」にすると、中央揃えの購入ボタンと並びが揃います。

「入荷予定の文言」を変えると、店の言い回しで案内できます。

「アイコンを表示」をオフにして「右揃え」にすると、価格の並びに寄せた控えめな表示になります。
![]()
アプリを使わずに同じことをするなら、商品のメタフィールドとテーマの Liquid を組み合わせます。仕組みを知っておくと、アプリが何を肩代わりしているかが分かります。
まず Shopify 管理画面の「設定」→「カスタムデータ」→「商品」で、日付型のメタフィールド定義を作ります。ここでは名前空間を custom、キーを restock_date とします。次に、テーマの商品テンプレート(Dawn なら sections/main-product.liquid)に、このメタフィールドを読んで表示するブロックを足します。
{%- assign restock_date = product.metafields.custom.restock_date -%}
{%- if restock_date != blank and product.available == false -%}
<div class="restock-date">
{{ restock_date.value | date: "%Y年%-m月%-d日" }} 入荷予定
</div>
{%- endif -%}
このコードは、メタフィールドに日付が入っていて、かつ商品が購入できない状態のときだけ日付を出します。date フィルタで年月日の形に整えていますが、この書き方は日本語の表記に固定されます。英語のお客様にも同じ「年月日」が出るため、多言語のストアでは言語ごとに分岐を書き足す必要があります。
もう一つの問題は「日付を過ぎたとき」です。Liquid の now や today はページが最後にレンダリングされた時刻を返し、ページがキャッシュされていると更新されません。サーバー側で過去判定をすると、翌日になっても古い日付が出続けることがあります。そこで判定はブラウザ側の JavaScript で行います。
document.querySelectorAll('.restock-date[data-date]').forEach(function (el) {
var parts = el.getAttribute('data-date').split('-');
var target = Number(parts[0]) * 10000 + Number(parts[1]) * 100 + Number(parts[2]);
var now = new Date();
var today = now.getFullYear() * 10000 + (now.getMonth() + 1) * 100 + now.getDate();
if (target < today) {
el.textContent = '入荷時期未定';
}
});
このスクリプトは、要素に持たせた YYYY-MM-DD の日付を数値に直し、閲覧者の端末の今日と比べます。過ぎていれば文言を「入荷時期未定」に差し替えます。Date オブジェクトで日付を解釈させると、タイムゾーンによって 1 日ずれることがあるため、文字列を数値に分解して比べています。
ここまでで表示はできますが、運用の手間が残ります。日付の入力は商品編集画面を 1 点ずつ開いて行うことになり、まとめて入れる手段がありません。20 言語の文言、在庫の判定の切り替え、色や余白の調整をテーマの設定として持たせるには、さらに schema とスタイルを書く必要があります。テーマを更新するたびにこの変更を移し替える保守も発生します。アプリは、これらをまとめて引き受けています。
App Store で「入荷予定日」や「restock date」と探すと、Essent Estimated Delivery Date、Estimated Delivery Date ‑ ETA、S Estimated Delivery Date Plus、Wow Estimated Delivery Date といった「配送予定日」のアプリが並びます。名前が似ているので同じ役割に見えますが、扱っている日付が違います。ここでは違いと、両方を入れるときの設定を整理します。
配送予定日アプリは、注文日を起点に処理日数と配送日数を足して「いつ届くか」を出します。計算のもとになるのは店が決めたルールで、商品ごとに固定の日付を入れる場所は基本的にありません。在庫があって今すぐ買える商品に「3〜5 日でお届け」と添えるための道具です。
「シンプル再入荷日表示」が扱うのは、まだ買えない商品が「いつ買えるようになるか」です。計算はせず、店が仕入れ先から聞いた日付をそのまま出します。買えない商品に到着日は出せませんし、買える商品に入荷日は要りません。ですから、この 2 種類は競合というより担当する商品の状態が違うアプリです。
在庫のある商品には配送予定日、売り切れの商品には入荷予定日、という分担にすると、どちらの案内も邪魔をしません。「シンプル再入荷日表示」側で決めるのは 2 つだけです。
配送予定日アプリ側は、在庫切れの商品で非表示になるものと、ならないものがあります。売り切れ商品を開いたときに「3〜5 日でお届け」と「入荷予定」が同時に出ていたら、配送予定日アプリの表示条件を在庫ありに絞ってください。設定の場所はアプリによって違うので、そのアプリのルール設定で「在庫」や「availability」の条件を探します。
入荷予定日のほうが優先度が高いストアは、次のどれかに当てはまるところです。
逆に、在庫は常にあり、お客様の関心が「いつ届くか」に集中しているストアでは、配送予定日アプリを先に入れるほうが効きます。両方に当てはまるなら、担当する商品の状態が違うので同時に入れても衝突しません。
「シンプル再入荷日表示|入荷予定日・在庫復活日告知」は、店が知っている入荷予定日を、売り切れ商品のページにそのまま見せるための Shopify アプリです。管理画面は「入荷予定日」と「設定」の 2 画面だけで、商品を選んで日付を入れれば表示が始まります。複数商品への一括設定、「入荷時期未定」の表示、日付を過ぎたときの自動切り替え、20 言語の文言、テーマエディタでの見た目の調整までを月額 3.99 ドルの単一プランに収めています。
売り切れの表示だけでは、お客様は「もう買えない」と思って離れます。日付が 1 行あるだけで「この日まで待とう」に変わります。まずは 7 日間の無料体験で、いちばんよく売り切れる商品 1 つから試してみてください。
当社では、ストア運営の「あと一歩」を埋めるアプリを多数公開しています。売り切れ対策と相性のよいものをいくつか紹介します。