MAGAZINE

Twitter
Facebook

MW WP FORMを使用してA8タグを実装する

WEB

A8に広告を出稿している企業からの依頼

A8の出稿をしたので、LPの設定をして欲しいとの依頼
やったことが無いのでいい経験と思って実装しました。

A8タグには下記の条件があった

  • お問い合わせ毎に乱数を生成してA8タグに渡すこと
  • 全ページのheaderにA8スクリプトを読み込ませること
  • お問い合わせ完了ページにのみA8タグを設置すること

この形で実装をしようとした

まず最初に!

  • JSでLPアクセス時に乱数を生成
  • ページ最下部のお問い合わせフォームのhidden値に乱数を代入
  • 確認ページ遷移後にhidden値の数値を変数に代入
  • 完了画面で変数をタグに代入してA8側に送る←ここでダメ!

やっぱページを跨いで数値を送るのは難しいよね〜ってことで2週間悩みましたwww

最終的にはCookieを使用する

functions.phpでアクセス時にCookieに変数を代入

ここで注意しておくのはCookieが生成するページ、またはCookieが空かどうかを判別するif分岐で括っておかないとページ遷移毎に、Cookieが上書きされるので注意です。

if(empty($_COOKIE['order'])){
  add_action( 'init', 'my_setcookie' );
  function my_setcookie() {
    $str=""; for($i=0;$i<10;$i++){$str.=mt_rand(0,9);};
    setcookie( 'order', $str, time() + 120, COOKIEPATH, COOKIE_DOMAIN   );
  }
}

ここではCookieが空だったら、乱数を生成して保存します。
その保存時間は120秒にしています。

header.phpに下記のコードを記入

<script src="//statics.a8.net/a8sales/a8sales.js"></script>

ページ下部にjavascriptで下記を追記

document.forms[0].hidden値のname.value = '<?php echo $_COOKIE['order']; ?>';

これで今回アクセスされたユーザーに埋め込んだCookieと同じ文字列がお問い合わせフォームにも入りました。

あとは完了画面に設置したA8タグにCookieを埋め込みます。

"order_number": "{{<?php echo $_COOKIE['order']; ?>}}",

これでページアクセスから2分以内のお問い合わせに有効なコードが完成です。

*作成するサイトによってCookieの保存期間は適宜変更してください。

 

Let’s Enjoy Coding Life!!

YAS

2011年よりweb制作に従事。現在は主にWordpressによるサイト制作の他、DNS切替時や、サーバー移管時の各種トラブル解決を行っています。