GoogleフォームにURLパラメータ使って初期値を指定する方法

ある商品ページからGoogleフォームを使った問い合わせを行う際、顧客が問い合わせ商品についてその都度書かなくても良いように、どの商品ページから問い合わせを行ったのかをわかるようにしました。

やったことは、WordPressでショートコードのプラグインをつくり、元ページのタイトルをGoogleフォームにURLパラメータとして渡すことです。

Googleフォーム

GoogleフォームにはURLパラメータを利用して初期値を指定することができるので、その方法をご説明します。

目次

おおまかな流れ

Googleフォームに初期値を渡す方法は検索するといくつか出てくるのですが、過去何度か仕様が変わっているようですね。現在のおおまかなやり方は、

1.GoogleフォームのURLを確認
2.該当フォームのname要素を確認(これがURLパラメータとなる)
3.初期値として渡す値をURLエンコードしてパラメータと結び付けたものがURLとなる

という感じです。ちなみに、1と2は同時に確認できます。

やり方

Googleフォーム

まずはGoogleフォームを開き、右上にあるボタンを押すとドロップダウンメニューが開くので、その中にある「事前入力したURLを取得」をクリックします。

Googleフォーム

”回答を事前に入力したら[送信]をクリックしてください”というメッセージが表示されるので、初期値として入力しておきたいフォーム部分に値を入力します。今回は「問い合わせ元ページ」というフォームに「sample」といれました。

そして、[送信]ボタンを押します。

Googleフォーム

画面上に、URLが表示されます。これが、事前に指定したフォームに初期値を入力した場合のURLです。

Googleフォーム

表示されたURLはこちら。事前に”sample”と入力したフォームには「entry.16581440=sample」と表示されています。

つまり、この部分を利用すれば初期値が設定されます。ちなみに、入力していないフォームは書かなくても大丈夫でした。

表示ページのタイトルを取得してGoogleフォームのパラメータにつけてリンクを作成

作成したWordPressのプラグインはこんな感じです。

function google_form_button() {
	
	
	$title = get_the_title();
	
	$googleFormURL = 'https://docs.google.com/forms/d/e/***********************************/viewform';
	$formID = 'entry.******';
	
	$title = urlencode($title);
	
	$url = $googleFormURL.'?'.$formID.'='.$title;
	
	$html = '<a target="_blank" href="'.$url.'">代理店に見積もりを依頼する</a>';
	
	return $html;

}

add_shortcode('google_form_button', 'google_form_button');

記事の中に

Googleフォーム

このようにショートコードを記載すると

Googleフォーム

このように「代理店に見積もりを依頼する」というリンクボタンが表示され、ここでボタンを押すと

Googleフォーム

このように「問い合わせ元ページ」に、記事のタイトルが挿入された状態でGoogleフォームを開くことができました。

まとめ

WordPressサイトでの問い合わせフォームについて、今まではプラグインを使っていましたが、Googleフォームだと履歴が残り、かつ、Googleスプレッドシートにもなるので、最近はこちらを使うようにしています。

できれば、hiddenみたいにフォーム入力者が見えないようなるとよいのですが、これはまだ出来ないのかな?

ということで!