> For the complete documentation index, see [llms.txt](https://helps.ptengine.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://helps.ptengine.com/integrations/shopify.md).

# Shopify連携

> Ptengineタグの設置方法については[Shopifyでタグ設置](/start-guide/othertag/tag-shopify.md)もご覧ください。

## Shopify連携設定ガイド

### Shopifyアプリ設定を開く

Shopify連携を行うには、以下の手順に従ってください。

1. ログインして該当のアカウントにアクセスします
2. Experienceモジュールで、プロファイルリストの右側にある「設定」アイコンをクリックし、「外部アプリ連携」をクリックして、Shopifyを選択します

   <figure><img src="/files/JDHkqGYSdyeyGEdsqiPA" alt=""><figcaption></figcaption></figure>
3. Shopifyをクリックして、後続の設定に進みます

## Shopifyでカスタムアプリを作成する

まず、Ptengineからのデータを受信するためのShopifyカスタムアプリを作成する必要があります。このプロセスは5分もかからず、技術的なスキルは不要です（ただし、Shopifyでの適切な権限が必要です）。このカスタムアプリは認可された範囲内でのみ動作し、ストアのパフォーマンスやカスタマー体験にリスクを与えることはありません。

カスタムアプリの作成は4つのステップに分かれます。

[ステップ1：アプリの作成](https://www.notion.so/a8b8195c81704357932ed4d32ba1017d?pvs=21)

[ステップ2：**アプリ権限の設定**](https://www.notion.so/8af46c23bc9f42399e3108b954ff1761?pvs=21)

[ステップ3：**アプリのインストール**](https://www.notion.so/62ebc700562d46098964267354b8727b?pvs=21)

[ステップ4：トークンの取得](https://www.notion.so/f917794c13354adfbb775258071e7dab?pvs=21)

### ステップ1：アプリの作成

1. Shopifyストアの管理画面に入り、左下の「設定」をクリックします

<figure><img src="/files/LtXGzU7TrEopSIBvR0Qo" alt=""><figcaption></figcaption></figure>

2. 「アプリと販売チャネル」をクリックします

<figure><img src="/files/6uGZhyvQX49UfSm60PVF" alt=""><figcaption></figcaption></figure>

3. 「ストア用のアプリを開発」をクリックします

<figure><img src="/files/F6R5KCBkoM4hIq4fnsnA" alt=""><figcaption></figcaption></figure>

4. 「カスタムアプリ開発を許可」をクリックします

<figure><img src="/files/PbqMpHUZbNRNcwGlQbDP" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/UOKw1ZQZt3qMuGOs29PO" alt=""><figcaption></figcaption></figure>

5. 許可後、以下のページが表示されます。「アプリを作成」をクリックします
6. 必要な情報を入力し、「作成」をクリックします（アプリ名はご自身でお付けください）

<figure><img src="/files/202Piql4uyC6pxfwCMIW" alt=""><figcaption></figcaption></figure>

7. 以下のページが表示されれば作成完了です

<figure><img src="/files/XwL8ToSD57kb3H63M3A6" alt=""><figcaption></figcaption></figure>

### ステップ2：**アプリ権限の設定**

1. 新規作成したアプリにはまだ権限がありません。Webhookを接続するにはAPI権限の設定が必要です。「バックエンドAPIスコープの設定」をクリックします

<figure><img src="/files/vYfGf3SbnhfykQ0bnnQ9" alt=""><figcaption></figcaption></figure>

2. このアプリのすべてのバックエンド権限のスイッチが表示されます

<figure><img src="/files/PYVhtDV3O5MjHRPU9ALn" alt=""><figcaption></figcaption></figure>

3. 以下の権限を見つけてチェックを入れます

<figure><img src="/files/KpmcSsP7RQYUs474YkcD" alt=""><figcaption></figcaption></figure>

4. 「保存」をクリックします

<figure><img src="/files/eJNqjyPb5EYZMa6bzcjy" alt=""><figcaption></figcaption></figure>

### ステップ3：**アプリのインストール**

1. 権限の設定が完了したら、「API認証情報」をクリックします

<figure><img src="/files/Qa5frq7c9IWv30VqZ8hE" alt=""><figcaption></figcaption></figure>

2. 「アプリをインストール」をクリックし、インストールを確認します

<figure><img src="/files/GlllruR87hUQ3rBhZTd5" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/GlllruR87hUQ3rBhZTd5" alt=""><figcaption></figcaption></figure>

### ステップ4：トークンの取得

1. インストール後、「トークンを一度だけ表示」をクリックします

   （**トークンは一度しか表示されません**。必ず大切に保管してください。トークン表示後、手動で保存せずにページを更新したり、ページを切り替えたりすると、再度確認することができなくなります）

<figure><img src="/files/5iMpUWVJ4BHroWrxN5BT" alt=""><figcaption></figcaption></figure>

2. APIトークンを保存したら、Ptengineに戻ってShopify接続の作成を続けます

<figure><img src="/files/tvuzrJbH0mch21hrlAdH" alt=""><figcaption></figcaption></figure>

## Shopify接続の作成

### Shopify接続の作成

1. Shopify管理画面で、ステップ2の「接続を作成」をクリックします

<figure><img src="/files/CordB69DEsoCYKpHfkmh" alt=""><figcaption></figcaption></figure>

2. 設定画面で必要な情報を入力します

<figure><img src="/files/LdgCq5SFtOCiFGxXm3Ch" alt=""><figcaption></figcaption></figure>

**接続名**

この接続に名前を付けてください。今後使用する際に識別しやすくなります

**Shopifyストア名**

注意：**これはShopifyでのストアの登録情報であり、ストアに表示される名前ではありません**

通常、Shopifyの管理画面にログインした状態で、URLから直接確認できます

<figure><img src="/files/KwsHMizblMqUJRcLbtfA" alt=""><figcaption></figcaption></figure>

または

<figure><img src="/files/8Y3ZYUHra7llL0aVBaP7" alt=""><figcaption></figcaption></figure>

**Shopifyカスタムアプリトークン**

[ステップ4：トークンの取得](https://www.notion.so/f917794c13354adfbb775258071e7dab?pvs=21)で取得したトークンをここに貼り付けます

3. すべての情報を入力したら、「検証を開始」をクリックします
4. 検証が成功すれば、接続を保存できます。

異なるフォームの結果を異なるストアの顧客リストに送信する必要がある場合は、ここで複数の接続を作成できます。

#### よくある接続エラー：

<figure><img src="/files/kZVRpfwDRd7eNFELjO3T" alt=""><figcaption></figcaption></figure>

エラーメッセージは上図のとおりです：

エラーケース1：Shopifyストア名が間違っている

エラーケース2：対応するShopifyストアのトークンが間違っている（注意：Shopifyの管理画面での設定時、トークンは生成時にのみ表示され、その後は暗号化された状態で表示されるため、別途保存しておく必要があります）

### Shopify接続の編集

リストの後にある編集ボタンをクリックすると、Shopify接続を編集できます。

<figure><img src="/files/TmBsExyQAcOzON833FGv" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/IeV0giGHRks28ROkTVyv" alt=""><figcaption></figcaption></figure>

編集の流れは作成時の操作と同じです。

Shopify側の設定に変更があった場合（例：トークンのリセット）、ここで変更後の情報を入力できます。

以前、体験で設定された接続は、編集後も引き続き有効です。

### Shopify接続の削除

リストの後にある削除ボタンをクリックすると、Shopify接続を削除できます。

<figure><img src="/files/LDGChOSqZH7faLcYK7p7" alt=""><figcaption></figcaption></figure>

注意：設定は削除後に復元できません。削除前に、今後その接続を使用しないこと、およびその接続でデータ送信を行っている体験に影響がないことを慎重にご確認ください。

削除時に、実行中またはスケジュール中の体験がないかチェックします。関連する体験がない場合はそのまま削除できます。実行中またはスケジュール中の体験がある場合は、「確認」チェックボックスにチェックを入れてから「削除」を実行してください。

<figure><img src="/files/Ou3dVKJIm2IFSfVNIuXn" alt=""><figcaption></figcaption></figure>

削除後、すべてのデータ送信は即時停止されます。

ただし、体験自体の実行やPtengineでのフォームデータの収集には影響ありません。

## 体験にShopifyプッシュを設定する

### プッシュ設定に入る

体験でShopifyのプッシュ設定を行うには、以下の手順に従ってください

\*この設定はフォームを含む体験にのみ適用されます。関連オプションが表示されない場合は、まずフォームを作成してください

1. 体験の編集をクリックします
2. 「オートメーション」モジュールを確認し、「編集」をクリックします

   （現在、「オートメーション」にはフォーム結果のプッシュ機能のみが備わっているため、体験にフォームを作成してからでないと表示されません。今後、このモジュールにはさらに多くのオートメーション機能が追加される予定です。データプッシュや自動アクションなど、オートメーション関連のご要望がございましたら、ぜひフィードバックをお寄せください。）

<figure><img src="/files/f6mq3vo9D7YDQ4vstX93" alt=""><figcaption></figcaption></figure>

### プッシュルールの設定

1. 結果をShopifyに送信するを選択します

<figure><img src="/files/7jHwUY2vlGAUINnuF4NV" alt=""><figcaption></figcaption></figure>

2. 事前に作成した接続から、使用する接続を選択します

<figure><img src="/files/QH2VvTmZk1JnwTc7y3gW" alt=""><figcaption></figcaption></figure>

3. 接続を選択すると、Ptengineが体験で使用されているすべてのフォームフィールドを解析します

<figure><img src="/files/ZrsuLHdKKDQionBK8EEK" alt=""><figcaption></figcaption></figure>

* Emailタイプのフィールドは、Ptengineが自動的に識別・対応付けします
* その他のタイプのフィールドについては、プッシュが必要な場合、手動で追加し、ターゲットフィールドとのマッピング関係を指定する必要があります。例：

<figure><img src="/files/fY1uyiepE2YElWREeWTG" alt=""><figcaption></figcaption></figure>

* Shopifyの必須フィールドについて
  * Shopifyは「Email」フィールドを唯一の関連付けキーとして使用するため、プッシュ時にはShopify Emailに対応するフィールドが必ず必要です。
  * 複数の実験バージョンまたは複数のデバイスを作成した場合、各バージョンとデバイスのフォームにShopify Emailに対応するフィールドが必要です。（デフォルトでは、Emailは自動的に識別・関連付けされますが、設定の変更やその他の異常により関連付けが失われた場合は、プロンプトに従って修正してください。）

1. 設定が完了したら、「保存」をクリックします
2. 注意：プッシュ設定は「公開」または「更新して公開」した後に初めて有効になります。

   有効期間中にフォームで新しいデータが送信されると、データはリアルタイムでShopifyにプッシュされます。

参考：現在Shopifyが受信できるデータ

| フィールド            | 用途                        | 備考                                  |
| ---------------- | ------------------------- | ----------------------------------- |
| Email (Required) | 顧客のメールアドレス。その他の情報の関連付けに使用 | 唯一の関連付け識別として使用。設定時に対応関係を確保する必要があります |
| First name       | 顧客の名                      |                                     |
| Last name        | 顧客の姓                      |                                     |
| Tag              | タグは顧客のグループ分けに使用できます       |                                     |
| Subscription     | 購読の有無                     | デフォルトは購読済み。現在カスタマイズ不可               |

注意：現在、Shopifyの一般的な使用シーンを総合的に考慮し、Ptengineが収集・転送するEmailには自動的に「顧客がマーケティングメールの受信に同意した」というマークが付けられます。適宜ご利用いただき、必要に応じて体験のコンテンツ内でユーザーにお知らせください。今後、この設定は最適化され、このオプションのカスタマイズに対応する予定です。

## よくある質問

### プッシュ設定前または中断期間中のデータをShopifyに同期するには？

現在、プッシュの動作タイミングは、フォームへの送信があり、フォームにデータが記録されたタイミングでリアルタイムにプッシュされます。そのため、接続が有効な期間中のみ動作します。有効化前や無効期間中のデータについては、フォームデータがPtengineのレポートに記録されていても、接続の設定や復旧後に自動的にShopifyにプッシュすることはできません。

このような場合は、Ptengineのフォームデータを手動でダウンロードし、Shopifyの顧客リストにインポートすることで対応できます。

解決方法：

1. 体験レポートで「フォーム送信」に切り替え、「CSVダウンロード」をクリックします

<figure><img src="/files/kCAbcAUKu31WjTRIsPTK" alt=""><figcaption></figcaption></figure>

2. Shopifyに移動し、「顧客」モジュールに入り、右上の「インポート」をクリックします

注意：サンプルCSVをダウンロードし、データを対応する形式に加工してからアップロードしてください。

<figure><img src="/files/BNJUQPa2IxbWCDMAwZnM" alt=""><figcaption></figcaption></figure>

### 既に購読済みの顧客に対して、Ptengineで関連する体験を表示しないようにできますか？

Ptengineはメールアドレスの用途を「購読」に限定していないため、購読の有無に基づいて自動的に表示を停止することはありません。

**Ptengineで収集したメールアドレスについては、「ターゲットユーザー」の制限で表示を非表示にできます：**

1. 体験の編集をクリックします
2. 「ターゲットユーザー」モジュールを確認し、「編集」をクリックします

<figure><img src="/files/1wKag8OP1AYx4SIAalo8" alt=""><figcaption></figcaption></figure>

3. 「特定の条件に一致するユーザー」に切り替え、「email」を検索して選択・設定します

<figure><img src="/files/o2Mop9Y6PrWwj78JI2j4" alt=""><figcaption></figcaption></figure>

email条件を「空」に設定します。これは、emailが収集されていない場合にのみ体験を表示するという意味です。

<figure><img src="/files/KHnGW6B9WFNRX15YX6j9" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/UmjpdAT50FDSp3mTuKQI" alt=""><figcaption></figcaption></figure>

この設定は他のユーザー限定条件と組み合わせて使用でき、より多様なパーソナライゼーション設定が実現できます。

**既にShopifyの顧客リストに存在するメールアドレスについては、上記の操作で「メールアドレスの除外」を指定できます。**

注意：この機能を使用するには以下が必要です。

Ptengineで[User identification](https://help.ptengine.com/docs/ptx-user-identification/)（ユーザー識別）が設定されていること

訪問者がログイン済みであること（そうでなければ、ブラウジング環境とユーザーのメールアドレスの関係を構築できません）

1. 除外するメールアドレスが1000件以下の場合

a. email条件設定を開き、「含まない」を選択します

b. 除外したいemailを直接貼り付けます（一括貼り付け可）。保存して完了です

<figure><img src="/files/bT0renegSZpbRlVZ10f6" alt=""><figcaption></figcaption></figure>

2. 除外するメールアドレスが1000件を超える場合

他の技術的な方法での連携が必要であり、貴社の技術サポートが必要です。ご必要な場合はお問い合わせください。

Ptengineは体験を表示するかどうかのレベルでのみ制御が可能です。データプッシュの特性上、ユーザーがメールアドレスを送信した後に、顧客リストに既に存在するかどうかを検証してエラーを返すことはできません。そのため、送信成功後にクーポンを配布する場合、クーポンの使用回数を制限するには、Shopifyの管理画面で決済ステップでの検証を設定してください。

<figure><img src="/files/FQlitvVVzmR9u05XlsoF" alt=""><figcaption></figcaption></figure>
