自社開発アプリケーションにPendoをインストールするためのチェックリスト。

Word版は[こちら](https://pendo.box.com/s/wmpkvfhjvnau964iwelelmw7k6hvrmok)


# **Pendo Snippetのインストール**

- [ ] [開発者向けインストールガイド（Pendo Snippet） – Pendoヘルプセンター](https://support.pendo.io/hc/ja/articles/360046272771-開発者向けインストールガイド-Pendo-Snippet-)
- [ ] マルチページアプリケーションの場合は、各ページにPendo Snippetをインストールします
- [ ] シングルページアプリケーションの場合は、ルートファイルでPendoを呼び出し、ユーザー情報が取得できるようになった段階でpendo.initialize()関数を呼び出し、visitor/accountメタデータを渡す処理を実行するがあります
  - [ ] SPAの特性上URLが一意で変わらないことがあり、ページのタグ付けが困難な場合があります[Location API](https://pendo.box.com/s/1u88a61hpypp3utek6y3zi7qaalgcofb
    )を使用してPendoにURLを送信する前にURL文字列を加工して送ることが可能です
- [ ] アプリ内でiFrameを使用している場合は、すべてのiframe内にもpendo snippetをインストールする必要があります


# **動作確認**
- [ ] [Pendoの動作確認](https://support.pendo.io/hc/ja/articles/360022819711-%E3%82%B9%E3%83%8B%E3%83%9A%E3%83%83%E3%83%88%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB#-4--0-9)

  - Pendoがインストールされているページで開発者コンソールを開き以下関数を呼び出します
    **pendo.validateInstall()**
    メタデータ情報が返ってくればインストール成功です

  - app.pendo.ioを開き、subscription settings -> アプリの詳細 -> Raw Eventsタブを開いてデータが正しくPendoに送信されているかご確認ください



# **個人情報の確認**

- [ ] Pendoに[個人情報](https://support.pendo.io/hc/ja/articles/360045829772-Pendo%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%AE%E8%A8%88%E7%94%BB#pii--0-6)が送信されることの可否を確認する

アプリ内でユーザーが操作する可能性のあるエレメントに個人/機密情報が含まれている可能性があります。これらの文字列データを送信することの可否をご検討ください

**例：ファイル名、ユーザー情報、メッセージ内容等々**

- Pendoはユーザーがinput box内に打ち込んだテキストは拾いませんが、サイト内の静的な文字列を拾うことがあります

- 一部のテキストはイベント属性としてキャプチャされます

- テキストを含むDOM要素は、イベントオブジェクトのプロパティとしてinnerHtmlテキストをキャプチャします

- PendoはクライアントのIPアドレスを収集しています

  - ブラウザから取得できるIPアドレスを送信します

  

- [ ] **テキストの収集を完全に停止するにはPendo Supportまでご連絡ください**

  - テキスト収集を停止すると機能タグ付けの際、[.contains()](https://support.pendo.io/hc/ja/articles/360031863612-%E3%83%95%E3%82%A3%E3%83%BC%E3%83%81%E3%83%A3%E3%83%BC%E3%81%AE%E3%82%BF%E3%82%B0%E4%BB%98%E3%81%91%E3%81%A7%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8BCSS%E3%82%BB%E3%83%AC%E3%82%AF%E3%82%BF%E3%83%BC%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B-#-contains--0-2)が使用できなくなります

  - アプリ内でpendo.pendoexcludeAllText( )関数を呼び出してテキスト収集を手動で止めることもできます。pendoが初期化されるたびに上記関数を呼び出す必要があります



# **環境設定**

- [ ] [ステージング環境を設定](https://support.pendo.io/hc/ja/articles/360032203991-%E3%82%AC%E3%82%A4%E3%83%89%E3%81%AE%E3%82%B9%E3%83%86%E3%83%BC%E3%82%B8%E3%83%B3%E3%82%B0)

  - [ ] ステージング・サーバーをPendoに追加すると、ガイドをプロダクション環境にリリースする前にテストできます

    「ステージング」に設定されているものはすべて指定されたサーバーにのみガイドが表示されます

    ステージング環境は、サーバ・ホスト/ドメインに基づいて追加可能

- [ ] [除外リストを設定](https://support.pendo.io/hc/ja/articles/360032209171-%E3%83%AA%E3%82%B9%E3%83%88%E3%81%AE%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1-%E9%99%A4%E5%A4%96-%E5%8C%85%E5%90%AB%E3%83%AA%E3%82%B9%E3%83%88)

  - [ ] **除外リストを使用すると、不要なデータを分析から隠すことができます**

    [設定] > [除外] リストからアクセス
     除外リストは、少なくとも1つのフィルタ設定(*サーバーホスト名/ドメイン、ソースIPアドレス、ビジターID、およびアカウントID***)に一致するすべてのセグメントのメトリックと詳細からイベントを除外します

    **注:**  除外リストに追加しても、ガイドの動作には影響しません - リストされたビジターを除外しても、ガイドの表示および操作できますが、これらのイベントはデータ上表示されません
    
    

# 権限割り当て

- [ ] Pendoにアクセス権のあるユーザーに適切な[権限を設定](https://support.pendo.io/hc/ja/articles/360058639932-%E5%BD%B9%E5%89%B2%E3%81%A8%E6%A8%A9%E9%99%90%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)

**Pendo 内には、読み取り専用、ユーザー、管理者の** 3 つの異なるアクセス許可レベルがあります

**読み取り専用 - すべての分析**を表示可能 - ユーザーはページ、機能、訪問者、アカウント、ファネル、パス、ガイドの指標にアクセスできます。これらのユーザーはすべての分析を表示できますが、既存のセグメント、レポート、ファネル、またはパスは、最初に作成したユーザーでない限り変更できません

**ページ**  や機能にタグを付け、すべての分析にフルアクセスできるユーザー - ガイドに関しては、(1)レイアウト(またはテンプレート)からガイドを作成、(2)*レイアウトまたはガイド**をゼロから作成、(3)公開ガイドを管理するオプションを使用して、ユーザーごとに権限レベルを設定できます*

**管理者**  - 他のユーザーをPendoアカウントに追加および削除したり、除外リストとステージング設定を変更したり、データマッピングを変更したり、統合を設定したり、アカウントのタイムゾーンを変更したり、追加のアカウントレベル設定を変更したりできます - 公開中にガイドを公開および非公開、ガイドを編集できます

設定可能な役割一覧：

![image-20221014143251475.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227518/c991b4a7-2b63-afcc-2f90-5dbebc2b5579.png)


# オプション機能

- [ ] [SSO認証を設定](https://support.pendo.io/hc/ja/articles/360032953392-SAML%E3%82%B7%E3%83%B3%E3%82%B0%E3%83%AB%E3%82%B5%E3%82%A4%E3%83%B3%E3%82%AA%E3%83%B3-SSO-%E3%81%AE%E6%A6%82%E8%A6%81#SAMLSSO)
  - お客様のIdP経由を使用したSSOのセットアップが可能です

- [ ] [CNAMEを設定する](https://support.pendo.io/hc/ja/articles/360043539891-Pendo%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B5%E3%82%A4%E3%83%88%E3%81%A8%E3%82%AC%E3%82%A4%E3%83%80%E3%83%B3%E3%82%B9%E3%81%AECNAME#--0-0) (**Proライセンス以上のお客様**)
  - CNAME機能を使用すると、お客様独自のアプリケーションのドメインの下にホスト名を作成できます。このホスト名は、イベントの送信でもガイドコンテンツのダウンロードでも、Pendoのホスト名の代わりに使用されます。これにより、イベントを確実に収集し、広告ブロックソフト、ファイアウォール、ウェブフィルタなどの対象となるエンドユーザーにガイドを提供することができます

- [ ] [JWT署名つきスニペットを設定](https://support.pendo.io/hc/ja/articles/360039616892-JWT署名付きメタデータを使用したスニペットインストール)[:](https://support.pendo.io/hc/ja/articles/360039616892-JWT署名付きメタデータを使用したスニペットインストール)
  - 署名付きメタデータでは、メタデータにJSON Webトークン（JWT）を添付することで、メタデータが変更されていないこと、およびインストールしたエージェント以外から送信されたものではないことを検証できます

上記オプション機能ご希望の場合Pendoにお知らせください

# ローカリゼーション(オプション)

- [ ] 　[ローカリゼーションを設定](https://support.pendo.io/hc/ja/articles/360031866452-%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%A9%E3%82%A4%E3%82%BA#--0-3)

ユーザーの言語設定に合わせてガイド言語の表示を切り替えることができます
ローカリゼーション設定を有効化するとデフォルトの設定では英語が選択されます

デフォルトの言語設定を切り替えるには、Pendo側の作業が必要です。 切り替えご希望の場合はPendoにお知らせください。 切り替えを行わなかった場合新しいガイドを作成するとデフォルトの表示言語が英語になります