Shopify から移行
Shopify ストアの商品、顧客、在庫、配送、割引を、1 回の読み取り専用インポートで Runner ストアにコピーします。
このガイドの内容:Shopify ストアのデータを既存の Runner ストアにコピーし、結果を確認し、修正が必要なときは再度インポートします。
ストア移行は、1 回限りの読み取り専用のコピーです。Runner は Shopify ストアを読み取り、見つけたデータを Runner ストアに書き込みます。Shopify 側は何も変更されず、インポート中も Shopify ストアでの販売は続きます。
移行する理由と時期
ストアを Runner に移し、既存のカタログ、顧客、設定を入力し直さずにそのまま使いたい場合に移行を使用します。
移行は Shopify ストアを接続 とは異なります。接続では Shopify がストアのシステムのまま残るため、チェックアウトも Shopify で行われます。移行ではデータを 1 回だけ Runner ストアにコピーし、その後 Runner ストアは単独で動作します。インポート後、Runner は 2 つのストアを同期しません。
利用可能性と前提条件
- ワークスペースで 移行 が利用可能である必要があります。
- ワークスペースで オーナー または 管理者 のロールが必要です。他のメンバーには入口が表示されず、Runner は
移行を変更または開始できるのは、ストア所有者または管理者だけです。と表示してインポートを拒否します。 - Shopify に接続されたプロジェクトではなく、Runner ストアにインポートします。Runner ストアがない場合は、先に Runner ストアを作成 してください。
- ストアのセットアップが完了するまで待ちます。完了するまで、Runner は
ストアはまだ準備中です。設定が完了すると、アップロードが自動的に利用可能になります。と表示し、続行 を使用できない状態にします。 - Shopify を接続 を使う場合は、ストアを所有する組織の Shopify アカウントが必要です。このアカウントには、アプリを開発してそのストアにインストールする権限が必要です。
- CSV エクスポートをアップロード を使う場合は、Shopify 管理画面から商品、顧客、割引をエクスポートできるアクセス権が必要です。
- 1 つのストアで同時に実行できるインポートは 1 つだけです。
移行を開く
エントリパス:プロジェクトを開く → トップバー → 移行
スマートフォンでは、トップバーの 2 本の矢印のアイコンを選択するか、空のチャットで Shopify から移行 を選択します。
インポートの実行中は、ボタンに Shopify からインポート中 と進捗率が表示されます。インポートの終了後 24 時間は、インポート完了・レポートを見る または インポートに対応が必要です と表示されます。ボタンを選択すると、中断したところからインポートを再び開きます。実行中のインポートは進行状況が、完了したインポートはレポートが開きます。
Runner がストアを読み取る方法を選ぶ

英語の注釈で操作箇所を示しています。画像を選択すると拡大できます。
| コントロール | 使用する理由 | 選択時の動作 |
|---|---|---|
| Shopify を接続 (1) | Shopify で作成したアプリを通じて、ストアを直接読み取ります。コレクションも取り込めます。約 4 分です。 | この方法を選択します。続行 で Shopify ストアを接続 が開きます。 |
| CSV エクスポートをアップロード (2) | アプリを作成できない場合に、Shopify 管理画面からエクスポートしたファイルを使います。コレクションは手動で作り直す必要があります。約 10 分です。 | この方法を選択します。続行 で エクスポートをドロップ が開きます。 |
| すべて表示 (3) | 開始する前に、インポートで Shopify に残るものを確認する | Shopify に残るもの を開きます。 |
| 続行 (4) | 次の手順に進む | 選択した方法の手順を開きます。この時点ではまだ何もインポートされません。 |
| キャンセル | 開始せずに離脱する | ダイアログを閉じます。 |
可能であれば Shopify を接続 を選んでください。エクスポートよりも多くのストアデータを読み取れ、後で繰り返すときもファイルを再度エクスポートする必要がありません。
移行されるものと Shopify に残るもの
インポートは次の順序で段階的に実行されます。
| 段階 | Runner がコピーするもの |
|---|---|
| 商品、バリエーション、コレクション | バリエーション、オプション、価格、写真を含む商品。コレクションは Shopify を接続 の場合のみ取り込まれます。 |
| 顧客 | メールアドレスを持つ顧客。 |
| ロケーション | ストアのロケーション。 |
| 在庫レベル | 各ロケーションにおける各バリエーションの在庫。 |
| 配送地域と料金 | 配送地域とその料金。 |
| 割引 | 割引コードとその使用回数の上限。 |
商品の写真は Shopify の画像アドレスのまま残ります。Runner はそれらにリンクし、ファイル自体はコピーしません。商品の段階の後、Runner はリンクを確認し、開けない写真を一覧にします。商品の写真を引き続き表示できるように、Shopify ストアを閉じる前に Runner サポートに連絡してください。

Shopify に残るもの には、インポートで移行されない各項目と、代わりに行うことが一覧表示されます。
| グループ | 項目 | 行うこと |
|---|---|---|
| Shopify に残す | 注文と注文履歴、ギフトカードとその残高、入金・取引などの財務履歴、顧客タグ・メモ・メールマーケティングの同意 | 必要な記録を Shopify からエクスポートします。顧客がまだ保有しているギフトカードの残高を控えておき、マーケティングメールを送る前に顧客に再度購読を依頼してください。 |
| Runner で作り直す | コレクション(CSV アップロードの場合のみ)、コレクションの説明・画像・自動ルール、1 つの商品に対する複数のコレクション、最低購入金額・アプリ・サブスクリプションの割引など一部の割引、配送業者による計算料金と一部の条件付き配送料、メタフィールドとメタオブジェクト、商品タグ・販売元・タイプ・SEO・動画 | ストア運営 で作り直すか、チャットで Runner に依頼します。自動コレクションは固定の商品リストとして取り込まれ、各商品は 1 つのコレクションに属します。 |
| Shopify で修正してから再インポート | メールアドレスのない顧客 | Shopify でメールアドレスを追加してから、もう一度インポートを実行します。 |
Runner は、近似した割引や配送ルールを有効にすることはありません。Runner で同じように動作しないルールはスキップされ、レポートに記載されます。インポート後に割引と配送料を比較してください。
Shopify を接続
Shopify ストアを接続 には 4 つのステップがあります。Shopify で各ステップを終えたら、完了としてマークしてください。後続のステップが順に開放されます。Shopify で作業している間も、Runner のタブは開いたままにしてください。
ステップ 1:ストアを見つける

- ストアを見つける (1) に、ストア名、
.myshopify.comのアドレス、または Shopify 管理画面のリンクを貼り付けます。Runner は使用するアドレスを、Runner は meridian-goods.myshopify.com を使いますのように表示します。 - 続行 (2) を選択します。
meridian-goods.com のような独自ドメインを入力することもできます。続行すると、Runner がその .myshopify.com のアドレスを調べます。Runner がストアを見つけると、見出しが 接続 とストア名に変わります。別のストアを使うには、アドレスの横の 変更 を選択します。Runner は下書きを破棄し、Shopify 側は何も変更されません。
ステップ 2:Dev Dashboard でアプリを作成
- Dev Dashboard を開く を選択します。ストアを所有する同じ Shopify 組織の販売者アカウントでサインインします。
- Apps を開き、Create app から Create app manually を選択します。アプリには任意の名前を付けます。Shopify CLI は必要ありません。
- Runner に戻り、アプリを作成しました を選択します。
別の Shopify 組織が所有するアプリは使用できません。Shopify セットアップガイド、必要なユーザーアクセス、同一組織であること のリンクから、Shopify 自身の手順が開きます。
ステップ 3:読み取り専用のスコープを追加し、リリースしてインストールする

- スコープをコピー (1) を選択します。Runner は 15 個のスコープすべてを、カンマ区切りの 1 つのリストとしてコピーします。
- Shopify の Create an app ページで、Scopes にリスト全体を貼り付け、Create app、続いて Release を選択します。アプリがすでにある場合は、Versions を開いて Create version を選び、リストを Scopes に貼り付けて Release を選択します。
- アプリの Overview に Distribution カードが表示されている場合は、開いて Custom distribution を選択します。これを行わないと、Shopify は顧客レコードをアプリに共有しません。ストア自身の組織で作成したアプリには Distribution カードがなく、この手順は不要です。Shopify の配布ガイド (2) から Shopify の手順が開きます。
- アプリの概要ページで、インストール カードの アプリをインストール を使用します。ストアを選択し、読み取り専用の権限を確認して インストール を選択します。Shopify から未審査のアプリであるという警告が表示されますが、自分で作成したアプリでは想定どおりです。
- Runner に戻り、追加してインストールしました (3) を選択します。
スコープは読み取り専用です。Runner が求めるのは、次のスコープだけです。
read_customers,read_discounts,read_files,read_inventory,read_locales,read_locations,read_markets,read_metaobject_definitions,read_metaobjects,read_price_rules,read_product_feeds,read_product_listings,read_products,read_publications,read_shipping
後でスコープを変更した場合は、Runner に戻る前に新しいバージョンをリリースし、アプリを再インストールしてください。
ステップ 4:Client ID とシークレットを貼り付ける

- Dev Dashboard で Apps を開き、Runner 用に作成したアプリを開きます。
- 設定 を選択し、認証情報 を開きます。Client ID をコピーし、シークレットの横の 表示 を選択してそれもコピーします。
- Runner で、それぞれを Client ID (1) と Client Secret (2) に貼り付けます。
- 認証情報を確認 (3) を選択します。確認には数秒かかります。
シークレットは shpss_ で始まります。shpat_ で始まる値はアクセストークンで、シークレットではありません。2 つの値を逆のフィールドに貼り付けた場合、Runner は 入れ替える を表示します。どこで確認できますか? (4) を選択すると、フォームの横にこれらの手順が表示されます。
Runner は確認済みの認証情報を暗号化し、同じストアからの以降のインポートで再利用するため、貼り付けるのは 1 回だけです。別の認証情報を使うには、認証情報を置き換える を選択します。
インポートを開始する

認証情報が受け付けられると (1)、左側のパネルに、Runner がストアから読み取った内容の概要が表示されます。商品の写真と、商品、顧客、コレクション、割引の数です。この時点ではまだ何もインポートされません。
インポートを開始 (2) を選択します。フッターには、インポートを開始: 商品 148 件、顧客 1,240 件、ディスカウント 27 件 のように、取り込まれる内容の概要が表示されます。
Shopify が認証情報を受け付けても、アプリに配送または割引のスコープがない場合、Runner は 不足: と足りないスコープを表示します。スコープを追加して もう一度確認 を選択するか、それらなしでインポート を選択して該当する段階だけをスキップします。それ以外のスコープが不足している場合は、追加するまでインポートできません。
CSV エクスポートをアップロード
Shopify でアプリを作成できない場合に、この方法を使用します。CSV エクスポートで取り込めるデータは Shopify を接続 より少なくなります。コレクションは取り込まれず、インポートできるのはファイルに含まれる内容だけです。
Shopify からファイルをエクスポートする

各ファイルの入手場所 にエクスポートの一覧が表示されます。1 つを選択すると手順が表示されます (2)。Shopify 管理画面を開く (3) でエクスポートし、ファイルを選択 (4) で追加します。ドロップゾーン (1) にファイルをドロップすることもできます。
| エクスポート | Shopify 管理画面での操作 | 必須かどうか |
|---|---|---|
| 商品 | 商品管理 → エクスポート で、すべての商品 と プレーン CSV ファイル を選び、商品をエクスポート を選択します。商品が 50 件を超える場合は、Shopify からファイルがメールで届きます。 | 最初にこれを追加 |
| 顧客 | 顧客管理 → エクスポート で、すべての顧客 と プレーン CSV ファイル を選び、顧客をエクスポート を選択します。 | 推奨 |
| 割引コード | ディスカウント → エクスポート で、すべてのディスカウント を選び、ディスカウントをエクスポート を選択します。 | 推奨 |
| 在庫 | 商品管理 → 在庫 → エクスポート。 | 任意 |
| ロケーションと配送料 | Shopify には標準のエクスポート機能がありません。アプリで CSV を作成した場合は追加してください。 | 任意 |
ファイルは任意の順序、任意のファイル名で追加できます。Runner が受け付けるのは CSV のみで、1 ファイルあたり 25 MB、500,000 行までです。それより大きいエクスポートは、Shopify で絞り込んで分割し、すべてのファイルを追加してください。
ファイルを確認してからインポートする

Runner は、インポートを始める前に各ファイルを読み取り、見つけた内容を表示します。
| 状態 | 意味 | 実行すること |
|---|---|---|
| 準備完了 (1) | Runner はエクスポートを認識し、すべての行をインポートできます。 | 何もする必要はありません。行を選択すると、Runner が見つけた内容を確認できます。 |
準備完了 · {count} 行を除外 (2) |
一部の行を取り込めません(メールアドレスのない顧客など)。 | それらを除いてインポートするか、Shopify でメールアドレスを追加して後で再度インポートします。{count} 行をダウンロード(CSV) で該当する行を確認できます。 |
{kind}のエクスポートのようです。合っていますか? (3) |
列が Shopify のエクスポートに近いものの、完全には一致しません。 | はい、{kind}です を選択するか、列を対応付ける で Shopify の各列に対応するファイルの列を選び、この列を使う を選択します。 |
| Excel ファイル、Numbers ファイル、CSV ではありません | ファイルが CSV ではありません。 | CSV UTF-8 として保存し、置き換え を選択します。 |
| Shopify 以外のファイル | 別のストアプラットフォームのファイルです。 | 同じデータを Shopify からエクスポートするか、ファイルを削除します。 |
| サイズ超過、行数が多すぎます | ファイルが 25 MB または 500,000 行を超えています。 | 小さいエクスポートを用意し、分割したファイルに置き換え を使用します。 |
| アップロード失敗 | アップロード中に接続が切れました。 | 接続を確認し、アップロードを再試行 を選択します。 |
インポート (4) を選択します。ボタンには、2 件のファイルをインポート のように準備完了のファイル数が表示されます。除外されるファイルがある場合、Runner は開始前に確認を求めます。除外したファイルは後から追加できます。
インポートせずに離れるには、キャンセル を選択し、インポートせずに終了しますか? で 終了する を選択します。追加したファイルは、戻ってきたときのために下書きに残ります。下書きを破棄 を選択するとアップロードしたファイルが削除されます。Shopify 側は何も変更されません。
インポートを追跡する

進行状況ビューのタイトルにはストア名が入り(例:Meridian Goods を引っ越し中)、各段階が件数とともに表示されます。実行中の段階 (1) には、512 / 1,240 のように完了したレコード数が表示されます。インポートは通常数分で終わります。
| コントロール | 使用する理由 | 選択時の動作 |
|---|---|---|
| チャットで開く (2) | 残りのデータが取り込まれる間にストアフロントの作成を始める | Shopify サイトの見た目を再現するよう Runner に依頼する新しいチャットを開きます。 |
| 閉じる — インポートを続ける (3) | インポートを実行したまま離れる | ダイアログを閉じます。インポートは Runner のサーバー上で続行され、完了すると Runner からメールが届きます。 |
| キャンセル (4) | インポートを停止する | インポートを停止しますか? を開きます。インポートを停止 でコピーを停止します。Runner にすでに取り込まれたレコードは残ります。インポートを続ける で進行状況に戻ります。 |
CSV インポート中は、ファイルを追加 でまだ不足しているエクスポートを追加できます。追加したファイルは、すでに実行中の段階の後にインポートされ、同じレポートに含まれます。
| ステータス | 意味 |
|---|---|
| 次の処理、待機中 | その段階は前の段階の完了を待っています。 |
| ストアを準備しています…、Shopify に接続しています…、読み込み中… | その段階を開始しています。 |
{processed} / {total} |
その段階でレコードを書き込んでいます。 |
| 一時停止中 | Shopify が Runner に処理速度を下げるよう求めました。インポートは自動的に再開されるため、何もする必要はありません。 |
148 などの件数 |
その段階が完了しました。 |
失敗 または {processed} / {total} で停止 |
その段階は完了しませんでした。Runner にすでに取り込まれたレコードは残ります。 |
結果を確認する

インポートが完了すると、Runner はストア名を含む完了メッセージ(例:Meridian Goods の引っ越しが完了しました。)を表示し、取り込まれた商品、顧客、割引の数、修正が必要なレコードの数、Shopify に残ったものの数を示します。
- ストアフロントを構築 (1) を選択すると、現在のサイトの見た目を再現するよう Runner に依頼する新しいチャットが開きます。
- レポートを見る、または修正が必要なレコードがある場合は
{count} 件を確認(2) を選択すると、インポートレポートが開きます。

インポートレポートには、取り込まれたレコードの数と、各 Shopify レコードの移行先が表示されます。
| コントロール | 使用する理由 | 選択時の動作 |
|---|---|---|
| CSV をダウンロード (1) | すべての項目の記録を残す | 各レコードの種類、名前、Shopify ID、ハンドル、結果、理由を含む import-report-{date}.csv をダウンロードします。 |
{count} 件要対応 (2) |
問題なく移行できなかったレコードを確認する | インポートデータ を開き、引っ越せなかったレコード、Shopify に残ったレコード、取り込み済み(メモあり) を表示します。 |
| 別のインポートを開始 (3) | レコードを修正した後や、不足していたものを追加するために再度インポートする | ストアを引っ越す に戻ります。 |
| 内訳 のステータス (4) | 1 種類のレコードを確認する | その種類のレコードを 取り込み済み、要修正、スキップ に分けて開き、それぞれに Shopify で開く を表示します。 |
| 完了 | レポートを離れる | ダイアログを閉じます。移行 から再び開けます。 |
レポートの各レコードには、追加済み、更新済み、変更なし、Runner のバージョンを維持、スキップ、要確認、インポートできませんでした のいずれかの結果が付きます。ハンドルがすでに使用されている商品など、Runner がインポートできなかったレコードには理由が表示されます。Shopify で修正してから、再度インポートしてください。
レポートには Shopify に残ったもの も一覧表示され、Runner で作り直すものには チャットでコレクションを作成し直す などのチャットアクションが用意されています。
再度インポートする
Shopify でレコードを修正したり商品を追加したりした後など、同じストアはいつでも再度インポートできます。Shopify を接続 の場合、Runner は保存済みの認証情報を再利用し、ボタンは ストアを更新 と表示されます。
- 重複しません。 Runner はインポートした各レコードを記憶しています。新しいインポートでは、新たにレコードを作成せず、対応する Runner のレコードを更新します。
- 変更のないレコードはそのままです。 Shopify のレコードも Runner のコピーも変更されていない場合、レポートには 変更なし と表示されます。
- Runner での編集は保持されます。 Runner でレコードを編集し、Shopify 側では変更されていない場合、レポートには Runner のバージョンを維持 と表示されます。両方が変更されている場合は、新しい方が優先されます。
- 何も削除されません。 Shopify で削除したレコードも Runner には残ります。
- CSV と Shopify の接続では、互いのレコードは照合されません。 CSV エクスポートでインポートした後に Shopify を接続 でインポートすると、一部のレコードが重複して取り込まれることがあります。インポート後に重複がないか確認してください。
トラブルシューティング
| 状態 | 意味 | 実行すること |
|---|---|---|
| トップバーに 移行 がない | このワークスペースでは機能を利用できないか、ロールがオーナーまたは管理者ではありません。 | ワークスペースのオーナーに移行の開始を依頼するか、自分のロールを確認します。 |
| 続行 が使用できないまま | ストアのセットアップがまだ完了していません。 | セットアップが完了するまで待ちます。Runner に ストアの設定を完了できませんでした と表示された場合は、先にストアのセットアップを再試行します。 |
そのアドレスに Shopify のストアはありません。 |
アドレスの綴りが間違っているか、Shopify のストアではありません。 | Shopify の 設定 → ドメイン からアドレスをコピーします。 |
Shopify に受け付けられませんでした。別のアプリのものかもしれません。 |
Client ID とシークレットが間違っているか、別のアプリのものです。 | 同じアプリの 設定 → 認証情報 から両方をコピーし、もう一度確認 を選択します。 |
このアプリ認証情報は、インポート元の Shopify ストアのものではありません。 |
アプリが別のストアにインストールされています。 | このストアにアプリをインストールするか、このストアにインストールされているアプリを使用します。 |
このアプリには移行に必要な Shopify の読み取りアクセスがありません。 |
リリースしたアプリのバージョンにスコープが不足しています。 | スコープを追加して新しいバージョンをリリースし、アプリを再インストールしてから、もう一度確認 を選択します。 |
| 顧客データがブロック中 | Shopify が顧客レコードをアプリに共有していません。 | Dev Dashboard でアプリの Distribution カードを開いて Custom distribution を選択し、もう一度確認 を選択します。再インストールは不要です。これができない場合は、下書きを破棄して CSV エクスポートを使用します。 |
| ストア一時停止中 | Shopify でストアが一時停止または凍結されています。 | Shopify でストアを再開してから、もう一度確認します。 |
| Shopify の応答待ち | Shopify が混み合っています。 | Runner が自動的に再試行し、貼り付けた内容は保持されます。 |
このストアにはすでに未完了の {source} インポートがあります。 |
このストアの別のインポートがまだ開いています。 | そのインポートを再開するか、下書きを破棄してから別のインポートを開始します。 |
| インポート中に 一時停止中 | Shopify が Runner に処理速度を下げるよう求めました。 | 待ちます。インポートは自動的に再開されます。 |
| インポートが完了しませんでした | ある段階が停止しました。5 分間何も進まない場合、Runner はインポートを安全に停止します。 | インポートを再試行 を選択します。Runner にすでに取り込まれたレコードは残り、重複しません。 |
進行状況を更新できませんでした |
進行状況ビューが Runner に接続できませんでした。 | 今すぐ再試行 を選択します。インポート自体は実行を続けています。 |
{count} 枚の写真を開けません |
Shopify の写真のリンクが応答しませんでした。 | Shopify で写真を確認し、レポートで もう一度確認 を選択します。 |
メッセージと復旧手順の一覧については、Shopify migration and import errors を参照してください。問題が解決しない場合は、ストア名、停止した段階、Runner に表示されるインポート ID を添えて Runner サポートに連絡してください。