未分類」カテゴリーアーカイブ

Googleタグマネージャー(GTM)で、organic(検索エンジン)来訪ユーザーのみでトリガー発火させる

Googleタグマネージャー(GTM)で、organic(検索エンジン)来訪ユーザーのみ、トリガー発火させる設定

元ネタ
Reusing Google Analytics Campaign Information with GTM | Bounteous https://www.bounteous.com/insights/2018/05/09/utmz-campaign-info-ga/?ns=l

・organic(検索エンジン)来訪ユーザーの判定は、Googleアナリティクスの結果を使う
・cookieに書き込むので、2ページ目以降の遷移でも、この判定値を使える。

前提条件

GTMで、Googleアナリティクス タグが設定されていること

手順

UTMZ Cookie Replicator for GTM | Bounteous https://www.bounteous.com/insights/2017/12/18/utmz-cookie-replicator-gtm/
から、container JSON file(utmz-cookie-replicator.json)をダウンロード

ダウンロードした utmz-cookie-replicator.json を、Googleタグマネージャー(GTM)で、「管理」→「コンテナをインポート」で、タグマネに設定追加する。
これで、Googleアナリティクスの結果が、GTMのCookie値として変数に格納されるようになる。

トリガーで、下図のように、”トリガータイプ” → ”ページビュー” で、変数「JS – GA Medium」が出てくるようになるので、
”一部のページビュー”、”JS – GA Medium”  ”含む” “organic” という条件で  トリガーを作成する。

(1)GTM →(2) Googleアナリティクス タグ 発火 →(3)  GTMでGoogleアナリティクス結果Cookie値参照 でのトリガー→ (4)発火させたいタグ
という順にするため、(4)発火させたいタグでは、 「発行する前にタグを配信」に(2)のGoogleアナリティクス を指定する。

 

↓ 参考になるブログがたくさんあります!ぜひどうぞ! ↓
にほんブログ村 その他日記ブログ 日々のできごとへ

Trelloのフリーワード検索 Ruby版

Trelloのフリーワード検索が、実際にあるのにヒットしなかったり、正規表現が使えないなど、使えないので、Trelloのカード タイトル と 詳細説明 をフリーワード検索するRubyスクリプトを書いてみた。

準備

trello app-key

https://trello.com/app-key
から、下記取得
キー:   →  config.consumer_key
トークン  → config.consumer_secret
秘密: → config.oauth_token

Ruby

Rubyで ruby-trello(https://www.rubydoc.info/gems/ruby-trello/)を使うので
gem install ruby-trello
しておく
require "trello"

search_pattern = "検索文字列(正規表現OK)" # / はエスケープ無しでOK

# 検索対象
is_search_name = true # カード タイトルを対象とするか?
is_search_desc = false # カード 詳細説明を対象とするか?

# 検索対象リスト
search_list_names = {
  "リスト1" => true,
  "リスト2" => true,
}

board_id = "XXXXXX" # Trello URLの https://trello.com/b/XXXXXX の部分

Trello.configure do |config|
  config.consumer_key = "キー"
  config.consumer_secret = "秘密"
  config.oauth_token = "トークン"
end

Trello::Board.find(board_id).lists.each do |list|
  nextif! search_list_names[list.name]
  # puts list.name
  list.cards.each do |card|
    # puts card.name
    puts "#{card.short_url} :#{list.name}:name: #{card.name}" if is_search_name && (card.name =~ /#{search_pattern}/) # / はエスケープ無しでOK
    puts "#{card.short_url} :#{list.name}:desc: #{card.desc}" if is_search_desc && (card.desc =~ /#{search_pattern}/) # / はエスケープ無しでOK
  end
end
↓ 参考になるブログがたくさんあります!ぜひどうぞ! ↓
にほんブログ村 その他日記ブログ 日々のできごとへ

リンク切れチェックツールについて

「Link Checker」Chrome拡張で、リンク切れがあるのに、問題無いような表示がされることがわかりました。
      → 結論: リンクチェックツールを「Check My Links」Chrome拡張に変更
テストデータ
「Link Checker」Chrome拡張 の結果
エラーがあるにかかわらず、下記を表示
1)「All links ok.」
2)アイコンもグリーンで「:)」
「Check My Links」Chrome拡張の結果
存在しないドメイン → Valid redirecting links
存在しない内部リンク → Invalid links
で表示。(Valid links:9 は、問題の無いリンクの数)
Check My Links オプション設定
(オプション変更時は、最下部の「Save my preferences」をクリックで、保存&反映される)
↓ 参考になるブログがたくさんあります!ぜひどうぞ! ↓
にほんブログ村 その他日記ブログ 日々のできごとへ

Google Spreadsheetでシートを開いたら、今日のセルへ移動(列版)

Google Spreadsheetでシートを開いたら、今日のセルへ移動 で列方向(横方向)に日付が配置されている場合のニーズが高いようなので、

(行方向(縦方向)は → [Google Apps Script] Googleスプレッドシートを開いた時に、今日の入力セルへ自動ジャンプ )

 

// onOpen関数はスプレッドシートが開けられる度に自動的に実行される
function onOpen() {
  goToTodayCell(5,1); // 日付開始セルの指定 行番号,列番号(A列が1) 
}

function goToTodayCell(StartRow, StartColumn ) {
  //var StartRow;  // 日付セル開始行
  //var StartColumn;  // 日付セル開始列 A列が1

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

//  sheet.getRange(1,1).setBackground("red");  // 実行中表示

  var maxColumn = sheet.getMaxColumns();//最終列を取得

  var dateRowsValues = sheet.getRange(StartRow, StartColumn , 1, maxColumn).getValues();  // 対象行の日付を配列に格納(高速化のため)

  var today = new Date();
  var stringToday = yyyymmdd(today);

  var matchColumn = -1; // マッチする列が無かったら -1

  for (var column = 0; column < maxColumn-1; column++) {
    //var dateValue = yyyymmdd(dateRowsValues[i][StartRow-1]); // 配列は 0から、シートは1から
    var dateValue = yyyymmdd(dateRowsValues[StartColumn-1][column]); // 配列は 0から、シートは1から
    if(stringToday == dateValue){
      matchColumn = column+1; // 配列は 0から、シートは1から
      break;
    }
  }
//  sheet.getRange(1,1).setBackground("white");  // 実行中表示解除
  if(matchColumn === -1){
  	  Browser.msgBox(StartRow + "行目に今日(" + stringToday + ")に該当するセルが見つかりませんでした", Browser.Buttons.OK);
  } else {
	sheet.getRange(StartRow, matchColumn).activate();  // セルへ移動
  }
  return;
}

// dateを日付のみにする
// Mon Jan 21 2013 13:37:00 GMT+0900 (JST)  ->  2012/07/05
function yyyymmdd(dateVal)
{
  var stringDate
  var date = new Date(dateVal);
  if(date.toString() == 'Invalid Date'){  //日付データでない
    stringDate = date;
  } else {
    stringDate = date.getFullYear() + "/" + ("0" + (date.getMonth()+1)).slice(-2) + "/" + ("0" + date.getDate()).slice(-2);
  }
  return stringDate;
}
↓ 参考になるブログがたくさんあります!ぜひどうぞ! ↓
にほんブログ村 その他日記ブログ 日々のできごとへ

ios7のiphoneで地下鉄などオフラインでtwitterを素早くつぶやけるようにしてみた

私は持っているiphoneはソフトバンクのものですが、
TV CMなどでは、「つながりやすさ、No.1へ」と虚偽広告または誇大広告と思われる
あいかわらず「繋がりにくさNo.1」で、地下鉄など、全然つながらないことが多いです。w

あのCMに「半澤直樹」出すのは、個人的に、「半澤直樹」のイメージが悪くなるので、やめて欲しいと思っているのですが。。。

という話は、置いておいて、

iOS6では、iphoneの通知センターからTwitterの投稿ができていたのですが、
ios7では、できなくなってしまいました。

以前は、地下鉄などに乗っている時に、ふと閃いたことなんかを
iphoneの通知センターのTwitterからお手軽につぶいていましたが、
これが、最近できていなくて、ひらめき(大したことではないんですがw)を放置している感じがしてました。

そこで、以下の様な要件を満たせる方法を探しみました。

・投稿専用で軽く素早い起動
・オフライン投稿(Dreaft保存)ができ、オンラインになったら自動で投稿
・写真投稿は出来なくても可
・通知センターから起動を可能にする

結果、
BlueBeak for Twitter + App Gate
にしてみました。

前半の用件は、BlueBeak for Twitter が満たしてくれます。

BlueBeak for Twitter のデモ ビデオ
http://www.youtube.com/watch?v=GmHMK7Un828

通知センターからの起動は、 App Gate で行います。
App Gate をインストールして、”App”をクリック

写真 3

Nameは、お好みで、
Scheme(URLスキーム)は「bluebeak://」
を入力
写真 2

1,2分後の時間を設定し、設定した時間に通知センターに1度通知させます。
ここで、本来、下の部分には、日時の設定画面が表示されているはずですが、
文字等が黒の為か、私の環境では見えていません。

写真 1

 

本来は、以下のように表示されているはずなので、
上記のように真っ黒に表示されたら、下記の表示をイメージして(笑)
操作してみてください。

 

aaa

 
一度、通知センターで通知されると”すべて”に履歴して残るので、そこをクリックして、
BlueBeak for Twitter にアクセスできるようになります。

写真 4

 

 

 

↓ 参考になるブログがたくさんあります!ぜひどうぞ! ↓
にほんブログ村 その他日記ブログ 日々のできごとへ