MMeeton aiDocs
EN日本語

プラットフォーム

設置方法

HTML を2行、一度だけ貼り付けます。ローダーは非同期で、ウィジェットを専用フレームに描画し、動けない場合は何もしません。このページではスニペット、貼り付け場所、ドメイン許可リスト、インライン埋め込みを説明します。

スニペット

設定 → Meeton AI → セットアップ からコピーしてください。実際の teamId が入った状態で表示されます。teamId は UUID で、それ以外はローダーが無視します。

HTML · </body> の直前
<!-- Start DynaMeet -->
<script type="text/javascript">
window.DynaMeetConfig = { teamId: "YOUR_TEAM_ID" };
</script>
<script type="text/javascript" async defer src="https://app.dynameet.ai/meeton.js"></script>
<!-- End DynaMeet -->
配置
</body> の直前が標準ですが、ページ内のどこでも動きます。設定オブジェクトはローダーより先に定義されている必要があり、未定義ならローダーは定義されるまで待ちます。
Google タグマネージャー
「すべてのページ」トリガーのカスタム HTML タグに、スニペット全体を入れます。GTM テンプレートは不要です。
プラットフォーム
WordPress、Webflow、Shopify、Squarespace、Wix、BASE、STORES、はてなブログ、Google タグマネージャーの手順がダッシュボードにあります。それ以外は通常の HTML で対応できます。
ページ速度
スクリプトは1つで、async defer 読み込み。描画をブロックせず、コンテンツの後に起動します。ウィジェット UI は別フレームなので、CSS や JavaScript が御社のものと衝突しません。
更新
ホストされたスクリプトを当社が更新します。再設置やスニペットの変更は不要です。
HTTPS
必須です。HTTP のページではローダーは何もしません。開発用の localhost だけが例外です。

ページ表示のたびに起きること

ローダーはコンテンツの後に実行され、訪問者とドメインを確認してから、専用フレームにウィジェットを描画します。
ページが読み込まれる今までどおり
→
meeton.js が実行非同期 · コンテンツの後
→
チェックボット? 許可ドメイン?
→
ウィジェット表示専用フレーム内

通常は1秒未満です。途中で失敗したステップがあればそこで止まり、ページは何も気づきません。

もう少し詳しく、ローダーは次のことを行います。

  1. ボットやクローラー(Googlebot、ヘッドレスブラウザ)なら即座に終了します。クローラーはウィジェットを見ず、訪問者としても数えられません。
  2. window.DynaMeetConfig.teamId を読み、UUID として検証します。
  3. 訪問者 ID を取得または作成します。localStorage とファーストパーティ Cookie に保持されるランダムな UUID です。Cookie とストレージを参照。
  4. api.dynameet.ai からチームの設定を取得します。リクエストにはページのオリジンが付き、ホスト名が許可リストになければ API が拒否します。停止中、解約済み、プラン上限超過のチームも同様に拒否されます。
  5. app.dynameet.ai からウィジェット iframe を作成し、ライブ WebSocket 接続を開き、ページの監視を始めます(SPA 内の遷移、既存フォーム、スクロール深度、滞在時間)。

ドメイン許可リスト

タグは 設定 → Meeton AI → セットアップ → ドメイン に登録したホスト名でしか動きません。チェックはライブ接続を含むすべてのリクエストで行われるため、ページソースからコピーされた teamId は他のサイトでは何もしません。

チームごとに、完全一致のホスト名とワイルドカード。それ以外はデータに届く前に拒否されます。
  • ステージングとプレビュー。ステージングのホスト名を追加するか、名前が変わるプレビュー環境には *.example.co.jp のようなワイルドカードを使います。
  • ローカル開発。localhost は常に許可されるので、ドメインを追加する前にローカルビルドでタグを試せます。
  • 動作確認。ウィジェットが最初に読み込まれた瞬間に、そのドメインが設置済みになります。御社が管理していないページ(Notion のページなど)の iframe 埋め込みは報告できないため、動いていても未検出と表示されます。

インライン埋め込み

標準はフローティングウィジェットですが、チャット、予約カレンダー、リードフォームはページ内の任意の場所にインラインで置くこともできます。いずれも app.dynameet.ai の iframe なので同じ CSP ルールが適用され、埋め込みは設置先ページを申告するため許可リストのチェックも同様に働きます。

インラインチャット

ランチャーではなく、ページの流れの中にチャットウィンドウを描画します。すでに会話の場なので、埋め込みモードではマーケティングポップアップと広告は表示されません。

HTML
<!-- DynaMeet inline chat -->
<iframe
  src="https://app.dynameet.ai/iframe-embed.html?teamId=YOUR_TEAM_ID"
  title="DynaMeet"
  style="width: 100%; height: 600px; border: 0;"
  allow="fullscreen; camera; microphone; autoplay"
></iframe>

インライン予約カレンダー

1つの予約カレンダーをフルページで表示します。calendarId は 設定 → Meeton AI → カレンダー にあり、各カレンダーには固有の URL と QR コードもあります。

HTML
<!-- DynaMeet booking calendar -->
<iframe
  src="https://app.dynameet.ai/iframe-calendar.html?teamId=YOUR_TEAM_ID&calendarId=CALENDAR_ID"
  title="Book a meeting"
  style="width: 100%; height: 700px; border: 0;"
  allow="fullscreen; camera; microphone; autoplay"
></iframe>

インラインリードフォーム

リードフォームで設定したフォームを、透明で枠のないフレームとして、指定した height で表示します。送信時の動作はウィジェットと同じで、訪問者が特定され、CRM が埋まります。

HTML
<!-- DynaMeet form -->
<iframe
  src="https://app.dynameet.ai/embed/form/YOUR_TEAM_ID"
  title="Contact us"
  style="width: 100%; height: 420px; border: 0;"
  loading="lazy"
></iframe>
注記

インライン埋め込みはタグの代わりにはなりません。訪問者の識別、フォーム監視、インラインカレンダーでの予約とチャットの紐付けのため、ページには meeton.js も残してください。

よくある質問

サイトが遅くなりませんか?

なりません。スクリプトは1ファイルで、コンテンツの後に非同期で読み込まれ、ウィジェットは専用フレーム内に描画されます。ページはスクリプトを待たず、読み込みに失敗してもページ上の何も変わりません。

先にステージングで試せますか?

はい。ステージングのホスト名を許可ドメインに追加してください。名前が変わるプレビュー環境には *.example.co.jp のようなワイルドカードが使えます。

誰がウィジェットを見られますか?

許可リストに登録したドメインの訪問者だけです。それ以外のサイトではリクエストが拒否され、何も描画されません。

アップデート時に何かする必要はありますか?

ありません。更新はホストされたスクリプトに配信され、次のページ読み込みから有効になります。

ブロックされた訪問者がいるとページが壊れますか?

いいえ。すべての失敗経路はタグが何もしないことで終わります。ページ、フォーム、他のスクリプトは、スニペットがないときと同じように動きます。