Tag Archives: Google

GoogleTagManagerではdocument.writeは動作しない

GoogleTagManagerの動きをちょっと確認したところ、
ヘルプページに書いてあるとおりではありますが、すべて非同期で動作してます。

これもヘルプページに書いてあることですが、document.writeの処理が入っているタグは動作しません。

カスタム HTML は、目に見える変更をページに加えることがなく、同期して発行される必要がない、または特定の順番で発行される必要がないタグを含めるために使用します(たとえば「document.write」機能がスニペットに組み込まれているタグや A/B テスト タグは使用できません。タグの制限についてはこちらをご覧ください)。

”特定の順番で発行される必要がないタグ”ともあります、つまりはよくみるこんなタグもアウトってことですね。

<script>
var aaaa = 12345;
var bbb_id = "xxxxx";
</script>
<script src="xxxxx.js"></script>

外部jsで先に宣言したパラメータを取得する類のやつです。

GoogleTagManagerで動くか以前に、順番が変わってもコールバックさせるなりして
動作するようにしておくべきかと思いますが・・・

[JavaScript]Googleコンバージョンタグ、リマーケティングタグを非同期で実行する方法

Googleコンバージョンタグ、リマーケティングタグを非同期で実行する方法がわかったのでメモ。
GoogleTagManagerの動きを見て勝手にやってるだけなので、実際に使うときはちゃんと確認したほうがいいです。

<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion_async.js">
</script>
<script type="text/javascript">
 window.google_trackConversion({
   google_conversion_id : 00000000000,
   google_conversion_language : "en",
   google_conversion_format : "3",
   google_conversion_label : "XXXXXXX",
   google_conversion_value : 0}
);
</script>

conversion.jsではなく、conversion_async.jsってのが注意。

複数のコンバージョンタグ、リマーケティングタグがある場合は、引数を変えてgoogle_trackConversionを複数叩けばOK。

Googleドキュメントのフォームからメール送信

Googleドキュメントのフォームから送信された内容をメール飛ばすサンプル。
これすごい便利です。
問合せフォームとかもこれでいいじゃんって感じです。

【手順】
1.Googleドキュメントからフォームを作成
 (「テスト入力欄」という名前でテキストボックスを作成)
2.上記をフォームの編集画面へ
3.[ツール]>「スクリプト」>「スクリプトエディタ」を開く
4.トリガーを設定する
 (1) メニューから「トリガー」>「すべてのトリガー」を選択
 (2) 「Add a new trigger」でトリガーを追加
 (3) 「onFormSubmit」、「From spreadsheet」、「On form submit」を選択して保存
5.以下のようなスクリプトを入力

function onFormSubmit(input) {
    try {
      //入力内容を取得
      var text = input.namedValues["テキスト入力"].toString();
      var body = "入力内容:"+ text + "\n";
      var subject = "Googleフォームメール送信テスト";
      MailApp.sendEmail("admin@test.co.jp", subject, body);
    } catch (e) {
        //エラーが発生した場合にもメールを送信する
        MailApp.sendEmail("admin@test.co.jp", "エラー", e.message);
    }
}​

たったこれだけ。
便利すぎます。

MailAppの細かい使い方は以下にあります。
http://code.google.com/intl/ja/googleapps/appsscript/class_mailapp.html

Google急上昇ワードをRubyで取得してみる

急上昇ワード取得用URL
http://www.google.co.jp/m/services/trends/get

このURLに[openuri]アクセスしてXMLで取得したレスポンスを[hpricot]でパースするだけ。

XMLのサンプル。
(なぜかこのとき「恥骨」が1位)

<rtt version="1.0"> 
  <update>2010-08-24T22:30:05-07:00</update> 
  <language>ja</language> 
  <country>jp</country> 
  <item> 
    <query>恥骨</query> 
    <rank>1</rank> 
    <score>2157.00</score> 
    <snippet src="http://ja.wikipedia.org/wiki/%E6%81%A5%E9%AA%A8">恥骨(ちこつ)(英名pubis)(羅名pubis、os.pubis)は、四肢動物の腰帯を構成する骨 の一つである。 ...</snippet> 
    <landing_page url="http://www.google.com/search?trndsrc=zeitgeist&amp;trndrnk=1&amp;trndutm=4c74aa5d&amp;trndscr=2157&amp;q=%E6%81%A5%E9%AA%A8&amp;gl=jp&amp;hl=ja&amp;lr=lang_ja"/> 
  </item>
</rtt>

そしてキーワードを取得して、とりあえず配列に突っ込むサンプル

require 'hpricot'
require 'open-uri'

words = Array.new

#APIからすべての内容を取得
all = Hpricot(open("http://www.google.co.jp/m/services/trends/get"))
#ワードのみを取り出す
(all/:query).each do |link|
  word = "#{link.inner_html}"
  words.push(word)
end