SOY Inquiryでコンバージョンタグを利用したいという問い合わせがありましたので、簡易的な設置方法を説明します。


コンバージョンタグと言えば、どこかのサイトから自社にリンクが張られた時に、

https://saitodev.co?sample_conv=dev

のようにURLの末尾にGETで値が渡されるものです。


このタグの値を保管しておき、お問い合わせ完了画面等で、この値を何らかの形で表示する。

今回は、どこのページでもコンバージョンタグを受け取ることができ、お問い合わせ完了時にhiddenで値を表示するということをやってみます。




はじめにフロントコントローラであるindex.phpにGETの値を受け取る処理を追加します。

コンバージョンタグは上のサンプル通り、sample_convで渡されることにします。


サイトをルート設定している場合は、

/ルート/index.php

ルート設定していない場合は、

/ルート/サイトID/index.php

を開きます。


文頭の<?phpの次の行に下記のコードを追加します。


if(isset($_GET["sample_conv"])){
	session_start();
	if(is_null($_SESSION["sample_conv"])){
		$_SESSION["sample_conv"] = $_GET["sample_conv"];
	}
}

これでどのページにアクセスがあってもコンバージョンタグの値を受け取れる様になりました。




続いて、お問い合わせフォームですが、一旦バージョンアップを行っても上書きされない様に専用のテンプレートを用意します。

下記の記事を参考に新しいテンプレートを用意しましょう。

SOY Inquiry1.1.4でフォームのカスタマイズ用のファイルを同梱しました | SOY CMS開発ブログ

SOY Inquiryで生成されたフォームのCSSを変更する


今回は新しいテンプレートIDをsoyにして話を進めます。


soyテンプレートを用意したら、

/ルート/cms/app/webapp/inquiry/src/template/soy/complete.php

を開き、ファイルの末尾に下記のコードを追加します。


<?php
session_start();
if(isset($_SESSION["sample_conv"])){
	echo "<input type=\"hidden\" name=\"sample_dev\" value=\"" . htmlspecialchars($_SESSION["sample_conv"], ENT_QUOTES, "UTF-8") . "\">";
	unset($_SESSION["sample_conv"]);
}
?>

コードを追加した状態でURL + ?sample_dev=devでアクセスし、


soyinq_conv


試しにお問い合わせをして、完了画面でソースコードを表示してみると、


<input type="hidden" name="sample_dev" value="dev">

というタグが追加されています。


これでコンバージョンタグの設定は終了です。




お問い合わせ終了時のメール文面にコンバージョンの有無を表示したい場合は、


管理者向けのメールであれば、

/ルート/cms/app/webapp/inquiry/src/template/soy/mail.admin.php

を開き、


ユーザ向けのメールであれば、

/ルート/cms/app/webapp/inquiry/src/template/soy/mail.user.php

を開き、


session_start();
if(isset($_SESSION["sample_conv"])){
	echo "コンバージョンタグに関する表記";
	//unset($_SESSION["sample_conv"]);
}

を追加します。


この時注意すべき点として、お問い合わせ完了画面よりもメールの方が先に実行されます。

お問い合わせ完了画面を開かない場合は、unset($_SESSION["sample_conv"]);のコメントアウトは外しましょう。