[WP]ContactForm7の掲載ページやら参照元やらを取得してやっていく方法

自作していく。

やりたいこと

WPのフォームプラグインは作ったフォームのショートコードを任意のページに埋め込んで使う。

LPとかを作った場合とか、同じショートコードを使い回すことは割りと珍しくない。

そうすると問合わせのメールが飛んできたときに、どこで送信されたかがわからない。

  • どのページで送信されたのか
  • 参照元はどこなのか

この2点が分かるようになれば幸せになれる。

とりあえず送られてきたメールで把握できれば良い。

今回は最近スタメンになってるContactForm7でやっていくとする。

Contact Form 7
お問い合わせフォームプラグイン。シンプル、でも柔軟。

掲載ページだけならプラグインで済む

Flamingo
A trustworthy message storage plugin for Contact Form 7.

Contactform7から送信された内容をDBに残してくれるやつ。だから管理画面上でメッセージを確認できる。メッセージの中にはメタ情報が含まれていて、その中にURLが含まれている。だから、これを入れてそこを見れば済む。

だけどまあ、保存してくれるのはありがたいんだけど、プラグインの使用数を見てわかる通り、あんまり使いたいものじゃないというか用途が限られるというか。当ブログみたいな個人規模なら便利で済むのだけど会社規模とかになると抵抗がある。

やっていく

CF7側の準備

流入元の取得・出力は機能にないので、jsで取得してinputに出力してメール本文内に記述する。設置ページのURLはタグで出せるので手間はない。

まずフォーム部。ユーザーに見せる必要はないので隠し要素にする。

[hidden utm_source]

メール本文はこうなる。

参照元:[utm_source]
送信ページ:[_url]

自分宛てのメールに入れること。相手に送っても問題はないけど単純に気持ち悪い。

メモ:設置ページのURL出力タグ

[_url]

公式サイトに書いてるから読みましょう。他にもタグがあるのでチェックしましょう。

特別なメールタグ | Contact Form 7 [日本語]

参照元の確認

「他所からやってきてそのまま送信した場合」で組む。

一般的な「URLパラメータ」を使ってやっていく。

keyは独自で作ってもいいけど面倒くさいからアナリティクスの書式に合わせてる。

https://blog.megefeps.info/contact/?utm_source=google

jsでパラメータを取得する。

$(function(){
    //パラメータの取得
    var arg  = new Object;
    url = location.search.substring(1).split('&');
    for(i=0; url[i]; i++) {
        var k = url[i].split('=');
        arg[k[0]] = k[1];
    }
    //utm_sourceの値を取得
    var utm_sourceValue = arg.utm_source;
    //inputに値を出力
    if(utm_sourceValue == ''){
        $('input[name="utm_source"]').val('登録なし');
    }else{
        $('input[name="utm_source"]').val(utm_sourceValue);
    }
})

難点

上記はサイト内をあっちこっち見てから戻ってこられた場合に無力な内容。せっかく流入してきてもサイト内を徘徊してパラメータのないURLから再アクセスされたら測定できない。

別案としてcookieを仕込めば、と考えても、有効期限が切れたらどうするんだとか、別の発火ギミックを踏んだらどうなるんだとか、面倒が増える。

汎用ページに参照元チェックを入れることほどだるいものはない。

アクセスだけならGTMとかでやっていけばいいんだけど、送信メッセージの管理に関してはマジでしんどい。「絶対にここからしかアクセスできない」を構築する方が圧倒的に楽。

使用方法

リンクURL設置時にパラメータの追記を忘れない。

https://blog.megefeps.info/contact/?utm_source=【任意の文字列】

ドメインやらurlをぶち込むことも可能。

https://blog.megefeps.info/contact/?utm_source=https://blog.megefeps.info/campaign/

使用感

悪くない気がする。

問い合わせとか申込み重視のWEBを全力でやってるとフォームの乱立はどうしても起こる。

単純に増えるし、バージョンアップもある。ページとフォームの連携、つまり動作的な意味では普通に組めば問題ないんだけど、人の目で見たときに訳が解らなくなる。同じ申込みであっても設置ページが違えばどっちに反響があったんだとか、このページからの申込はどっからの流入が多いのかとか。

一応解析サービスである程度のことは把握できるけど、明確な数字を出したいなら具体的でガッチガチなものを作って人がわかる形にするに越したことはない。バリエーションがなくても単純に親切だし、とりあえずでつけちゃっても良いんじゃないかなって思います。

ただし、再三になるけどこの記事の内容は「パラメータ付きのURLを踏んできた問い合わせに有効」な組み方なので、計測上のイレギュラーは必ず発生する(単純な話、パラメータが無かったら判別できない)。できる範囲でやってみたということを理解する。

コメント

タイトルとURLをコピーしました