---
updatedAt: 2025-09-16T21:41:47.000Z
agentTools:
  projectIndex: https://developers.karte.io/llms.txt
---

# tracker.form

フォームトラッキング

> ❗️ tracker（タグv1）のサポート終了について
>
> trackerを利用したタグv1は、サポートの終了を予定しています。詳細は下記をご覧ください。
>
> [タグv1のサポート終了のご案内とタグv2移行のお願い | KARTEサポートサイト](https://support.karte.io/post/13FROpQZRRn7h8jMHEXKjv)

> ❗️ 本機能は廃止予定です
>
> タグv1のサポート終了とともに、本機能は廃止される予定です。新規の利用はお控えください。

引数で指定したCSSセレクタに合致するページ上のformに対してイベントハンドラを登録し、submit時にフォームの内容をKARTEのイベントとしてトラッキングします。\
submitイベントが実行される前にtracker.formを実行してください。

# Syntax:

```javascript
tracker.form(dom_selector, options)
```

# Arguments:

<Table align={["left","left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Name
      </th>

      <th>
        Type
      </th>

      <th>
        Required
      </th>

      <th>
        Default
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        dom\_selector
      </td>

      <td>
        String
      </td>

      <td>

      </td>

      <td>
        'form'
      </td>

      <td>
        トラッキングした form の DOM を示すCSS セレクタ
      </td>
    </tr>

    <tr>
      <td>
        options
      </td>

      <td>
        Object
      </td>

      <td>

      </td>

      <td>
        null
      </td>

      <td>
        オプション
      </td>
    </tr>

    <tr>
      <td>
        options.event\_name
      </td>

      <td>
        String
      </td>

      <td>

      </td>

      <td>
        'form'
      </td>

      <td>
        イベント名
      </td>
    </tr>

    <tr>
      <td>
        options.send\_data
      </td>

      <td>
        Boolean
      </td>

      <td>

      </td>

      <td>
        false
      </td>

      <td>
        `action` と `method` 以外のパラメータもトラッキングします。(type="password" の場合は、send\_data=true でも送信しません。)
      </td>
    </tr>

    <tr>
      <td>
        options.stop\_words
      </td>

      <td>
        [block:c
      </td>

      <td>

      </td>

      <td>
        \[]
      </td>

      <td>
        send\_data: trueの場合でも値を保存したくないinputのnameを配列形式で指定できます。
      </td>
    </tr>

    <tr>
      <td>
        options.pre
      </td>

      <td>
        Function
      </td>

      <td>

      </td>

      <td>
        null
      </td>

      <td>
        送信データをカスタマイズするための関数
      </td>
    </tr>
  </tbody>
</Table>

`options.pre` arguments:

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th>
        Name
      </th>

      <th>
        Type
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        data
      </td>

      <td>
        Object
      </td>

      <td>
        form で送信されたデータ
      </td>
    </tr>
  </tbody>
</Table>

```javascript JavaScript
tracker.form("#formA", {
  event_name: "formA_send",
  send_data: true,
  stop_words: ["password", "pass", "company"],
  pre: function(data) {
    delete data.password;
    return data;
  }
});
```

> 🚧 ブロッキングと二重送信について
>
> `tracker.form`と`tracker.link` はページ遷移をブロックしません。イベントは一度 localStorage に保存し、ページ遷移が速く送信が完了しなかった場合、ページ遷移を跨いで送信することがあります。そのためタイミングによっては二重送信となることがあります。