> For the complete documentation index, see [llms.txt](https://docs.immedio.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.immedio.io/company-settings/mapping-router/form-mapping.md).

# フォームマッピング

外部フォームから送信されたデータをimmedio内のリード項目に紐付ける機能について説明します。

## フォームマッピングとは

フォームマッピングとは、外部のフォームから送信されたデータをimmedio内のリード項目（プロパティ設定）に紐付ける機能です。様々なフォームプラットフォームからのデータを統一した形式でimmedio内に取り込むことができます。

フォームマッピング作成における初心者向けガイドは[こちら](/guides/initial-setup/form-mapping.md)をご覧ください。

## フォームマッピングでできること

| 機能           | 説明                              |
| ------------ | ------------------------------- |
| 新規追加         | 新しいフォームマッピング設定の作成               |
| 編集           | 既存のフォームマッピング設定の編集               |
| コピー          | 既存のフォームマッピング設定をコピーして新規作成        |
| アーカイブ        | 不要なフォームマッピング設定のアーカイブ            |
| 削除           | アーカイブ済みのフォームマッピング設定の削除          |
| マッピング項目設定    | 各フォームフィールドとimmedio内プロパティの紐付け    |
| 自動マッピング生成    | URLを指定してフォームを解析し、自動的にマッピング設定を生成 |
| 手動マッピング設定    | フォームフィールドとimmedio内プロパティの個別紐付け   |
| Chrome拡張機能連携 | ブラウザ拡張機能を使用したマッピング検証とテスト        |
| インポート・エクスポート | JSON形式でのマッピング設定の保存と読み込み         |
| iframe対応     | iframe内に設置されたフォームのマッピング設定       |

## フォームマッピングの基本操作

### フォームマッピングの作成

#### フォームマッピングの作成方法

1. 「マッピングを追加」をクリック
2. マッピング名を入力
3. 「追加する」をクリック

新しいフォームマッピングを作成する際の設定項目：

| 項目     | 説明            | 必須 |
| ------ | ------------- | -- |
| マッピング名 | フォームマッピングの識別名 | ○  |

作成時には以下のデフォルトマッピングが自動設定されます：

* email（メールアドレス）
* person\_name（氏名）
* company\_name（会社名）
* phone\_number（電話番号）

### フォームマッピングのコピー

#### フォームマッピングのコピー方法

1. コピーしたいフォームマッピングを選択
2. フォームマッピング選択欄下の「選択しているマッピングをコピー」をクリック

既存のフォームマッピングをコピーして新しい設定を作成できます。コピー時には設定名に「のコピー」が自動付与されます。

### アーカイブ機能

#### フォームマッピングのアーカイブ方法

1. アーカイブしたいフォームマッピングを選択
2. 画面下の「マッピング「xxx」をアーカイブ」をクリック

不要になったフォームマッピングはアーカイブできます。アーカイブされた設定は：

* 通常の一覧では非表示
* 「アーカイブ済みを表示」チェックで表示可能
* アーカイブ後のみ完全削除が可能

### フォームマッピングの削除

#### フォームマッピングの削除方法

1. フォームマッピングをアーカイブする
2. アーカイブしたフォームマッピングを選択
3. 保存ボタン右の「削除する」ボタンをクリック

アーカイブ状態のフォームマッピングに限り、削除が可能です。\
フォームマッピングを削除すると、復元ができません。削除の際はご注意ください。

## フォームプロバイダー設定 <a href="#form-provider" id="form-provider"></a>

フォームプロバイダー設定では、フォームデータの取得方法を指定できます。

| 設定値                 | 説明                                     |
| ------------------- | -------------------------------------- |
| 通常                  | 標準的なフォームマッピング方式（デフォルト）                 |
| HubSpot（新フォームエディター） | HubSpotの新フォームエディター（ステップフォームを含む）に対応した方式 |

### HubSpot（新フォームエディター）モード <a href="#hubspot-new-form-editor" id="hubspot-new-form-editor"></a>

HubSpotの新フォームエディターで作成されたフォーム（ステップフォームを含む）を使用する場合は、フォームプロバイダーを「HubSpot（新フォームエディター）」に設定します。

このモードでは、HubSpotフォームから送信されたデータを自動的に取得し、immedioのプロパティにマッピングします。

#### 設定方法

1. HubSpot新フォームエディターでフォームを作成
2. 作成したフォームをiframeでページに埋め込む
3. フォームマッピング設定画面で対象のマッピングを開く
4. 「フォームプロバイダー」で「HubSpot（新フォームエディター）」を選択
5. マッピング先プロパティを設定（マッピング元の設定は不要。HubSpot側のプロパティ名とimmedioのマッピング対象名を一致させること）
6. 対象フォームマッピングを使用して、フローチャートルーターを作成する
7. タグをページに埋め込む
8. フォームが埋め込まれたページでフォームを送信し、immedioにデータが正しく連携されることを確認する

#### 注意事項

HubSpot（新フォームエディター）モードを使用する際は、以下の点に注意してください。

HubSpotのプロパティ名とimmedioのマッピング対象名を一致させる必要があります。通常のフォームマッピングとは異なり、マッピング元の設定は不要です。HubSpot側で設定したプロパティ名（内部名）と、immedio側のマッピング対象名が一致している項目のみがマッピングされます。

firstnameとlastnameは自動的にperson\_nameにマッピングされます。HubSpotのデフォルトでは姓名が分かれているため、immedio側で自動的に結合してperson\_nameとして扱います。

HubSpotのプロパティ名とマッピング対象名が一致しない項目は、送信時に自動的にスキップされます。

## マッピング項目設定

各マッピング項目では以下を設定します：

| 設定項目         | 説明              | 必須 |
| ------------ | --------------- | -- |
| マッピング先プロパティ  | immedio内のリード項目名 | -  |
| マッピング元フォーム項目 | フォーム内の対象要素の指定方法 | -  |
| 取得形式         | データの取得方法        | -  |
| 正規表現         | データ抽出用の正規表現（任意） | -  |

### マッピング元フォーム項目タイプ

| タイプ   | 説明              | 使用例                 |
| ----- | --------------- | ------------------- |
| label | ラベルテキストで要素を特定   | お名前, メールアドレス        |
| name  | name属性で要素を特定    | email, company      |
| xpath | XPathセレクタで要素を特定 | //\*\[@id="email"]  |
| query | CSSセレクタで要素を特定   | #email, .form-input |
| index | 要素のインデックスで特定    | 0, 1, 2             |

### 取得形式

| 形式               | 説明                     | 適用要素                                          |
| ---------------- | ---------------------- | --------------------------------------------- |
| value            | 要素のvalue値を取得           | input, select, textarea                       |
| checklist        | チェックボックス・ラジオボタンの値を取得   | input\[type="checkbox"], input\[type="radio"] |
| checklist\_label | チェックボックス・ラジオボタンのラベルを取得 | input\[type="checkbox"], input\[type="radio"] |
| text             | 要素のテキスト内容を取得           | div, span, p など                               |
| label            | 関連するlabel要素のテキストを取得    | input要素に関連するlabel                             |

### 正規表現

データ抽出用の正規表現を設定できます：

* ドメイン抽出用正規表現：`@([\w.-]+)` （ワンクリックで適用可能）
* カスタム正規表現による柔軟なデータ抽出

## 自動マッピング生成

フォームに対して自動的にマッピング設定を生成する機能です。\
マッピング生成の際は、まずはこちらをお試しください。

### 自動マッピングの使用方法

1. 対象フォームのURLを入力
2. 「マッピング自動生成」ボタンをクリック
3. 検出されたマッピング候補から選択
4. 「このマッピングを適用する」で設定を反映

### 自動マッピング対応フォーム

以下のような一般的なフォーム構造に対応しています：

```html
<form>
  <input name="person_name" />
  <input name="email" />
  <input name="phone" />
</form>
```

### 複数フォーム検出

同一ページに複数のフォームが存在する場合：

* 各フォームのマッピング候補を個別表示
* formIndexとiframeインデックスを表示
* 左右矢印ボタンで候補を切り替え

### 未登録プロパティの処理

マッピング先に指定したプロパティがimmedio内に存在しない場合、エラーメッセージで未登録プロパティが表示されます 「未登録のプロパティを一括保存する」ボタンで自動作成可能が可能です。この場合、immedio内に新しいプロパティが一括作成されます。

## iframe対応

### iframe設定項目

| 項目              | 説明                            |
| --------------- | ----------------------------- |
| iframe index    | iframe要素のインデックス番号（HTMLにおける順番） |
| iframe selector | iframe要素のCSSセレクタ              |

### iframe制限事項

フォームがiframe内に設置されている場合、iframeタグ内のsrc属性で指定されたメインドメインとThanksページのメインドメインが同一である必要があります。そうでない場合は、Thanksページのメインドメインを変更するなどをご検討ください。

## formIndex設定

### formIndex

| 設定     | 説明                 |
| ------ | ------------------ |
| 単一フォーム | 0（デフォルト）           |
| 複数フォーム | カンマ区切りで指定（例：0,1,2） |
| 特定フォーム | 対象フォームのインデックス番号    |

マッピング対象のフォームが最初のformタグでない場合や複数のformタグにまたがる場合は、formIndexを指定してください。

## Chrome拡張機能連携

### [Chrome拡張機能](https://chromewebstore.google.com/detail/immedio-mapping-extension/bkejkclfogkkhlndkkgcfobkeaihnhmk)

Chrome拡張機能を使用して：

* フォームマッピングの検証
* マッピング設定のテスト
* 実際のフォームでの動作確認

拡張機能では以下の設定が可能です：

| 設定項目            | 説明                |
| --------------- | ----------------- |
| マッピング対象         | immedio内のプロパティ名   |
| マッピング元          | フォーム要素の指定方法       |
| マッピング結果         | 実際に取得される値のプレビュー   |
| iframe index    | iframe要素のインデックス番号 |
| iframe selector | iframe要素のCSSセレクタ  |
| formIndex       | 対象フォームのインデックス番号   |

フォームがiframeの中にある場合は、iframe indexかiframe selectorいずれかを指定してください。

## インポート・エクスポート機能

フォームマッピング設定をJSON形式でエクスポート・インポートできます。\
主に、Chrome拡張機能でのマッピング検証に使用します。

## バリデーション機能

### 必須マッピング項目

以下のプロパティは必須です：

| プロパティ | 説明      |
| ----- | ------- |
| email | メールアドレス |

これが設定されていない場合、保存時にエラーが表示されます。\
また、このプロパティはimmedioのリード作成時の必須項目です。\
この項目が連携されない場合は、immedioのモーダルが表示されません。

### 推奨マッピング項目

以下のプロパティが設定されていない場合、警告が表示されます：

| プロパティ         | 説明   |
| ------------- | ---- |
| person\_name  | 氏名   |
| phone\_number | 電話番号 |
| company\_name | 会社名  |

## 制限事項

* マッピング元は最大10個まで設定可能です
* マッピングされていないフィールドのデータは保存されません
* フォームのフィールド名が変更された場合、マッピングを再設定する必要があります

## よくある質問

### 自動マッピングが失敗する場合は？

以下を確認してください：

* URLが正しく入力されているか
* フォームが一般的な構造になっているか
* JavaScriptで動的に生成されるフォームでないか

### iframe内のフォームが認識されない場合は？

iframe indexまたはiframe selectorを設定してください。iframeにsrc属性が指定されている場合、iframe内でフォームマッピングを読み込む必要があるため、iframeの中でimmedioのタグを読み込みます。この場合はiframe indexとiframe selectorの**どちらも使いません**。

### マッピングが正しく動作しない場合は？

Chrome拡張機能を使用してマッピングの検証を行ってください。実際のフォームでテストすることで問題を特定できます。

### 1ページに複数のフォームが存在していて、そのうち一つにマッピングしたい場合は？

formIndexで何番目のフォームかを指定します（1番目が0で、2番目が1の要領で設定）。

### 1ページに複数のフォームが存在していて、複数のフォームに同時にマッピングしたい場合は？

一つのページに複数のフォームがあるようなページの場合（LPなど）、両方のフォームにマッピングする必要があります。\
その場合は、formIndexにそれぞれのフォームの位置を指定します。\
例: 「0, 1」（1番目と2番目のフォームに対してマッピングする設定）\
※ 複数のiframeの中のフォームが埋め込まれている場合は、この方法は使えません。

### labelでマッピング可能か分からない。inputのlabel要素がわからない

文字をクリックしたときに、inputにフォーカスが当たる場合、その要素がlabelとなります。そちらの文字列を使ってください。また、自動マッピング機能はlabelを優先的に検出するため、自動マッピングを利用することでもlabel要素を検出できます


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.immedio.io/company-settings/mapping-router/form-mapping.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
