0

ここで心配しすぎかもしれませんが、これで終わりです...

Google キャンペーン リンク ビルダーを使用して、Google アナリティクス キャンペーン トラッキング URL を設定しました。

これは素晴らしいことですが、私は 20 の異なるトラッキング URL を持っています。

これらの URL は非常に見苦しく、サイトへの最初の訪問時にこの長い追跡 URL が表示されるのは好きではありません。


これが私のワードプレスサイトに載せたい私のアイデア/理論です。php の書き込み部分を手伝ってくれる親切な人がいれば、とても感謝しています。または、アイデアが悪い場合のアドバイス。


たとえば、これらは私の URL のほんの一部です

http://example.com/?utm_source=Company&utm_medium=MPU&utm_campaign=プロモーション

http://example.com/?utm_source=会社&utm_medium=リーダーボード&utm_campaign=プロモーション

http://example.com/?utm_source=Company&utm_medium=Take%2BOver&utm_campaign=プロモーション

上記のすべての URL も即座にリダイレクトしたいと思います...

http://example.com/

header.php または functions.php で php を使用する


おそらく配列/ケースに新しい追跡URLを簡単に追加できるように、これを書く方法はありますか?

どんな提案もありがとうございます!


このように笑わないでください-しかし、おそらくこれは私がやろうとしていることです...

$landing = $_SERVER['REQUEST_URI'];

$campaigns = array(
"http://example.com/?utm_source=Company&utm_medium=MPU&utm_campaign=Promo",
"http://example.com/?utm_source=Company&utm_medium=Leaderboard&utm_campaign=Promo",
"http://example.com/?utm_source=Company&utm_medium=Take%2BOver&utm_campaign=Promo"
);

if ( $campaigns == $landing ) {

header( 'Location: http://example.com/' ) ;

}
4

3 に答える 3

0

クエリ文字列を削除する簡単な方法:

if ($urlIsTracker) {
   list($url) = explode('?', $_SERVER['REQUEST_URI']);
   header("Location: $url", true, 301);
   exit;
}
于 2012-09-19T15:06:31.403 に答える
0

あなたはそれをすべきではありません。

Google アナリティクス トラッキング コードはクライアント側です。これは、ページがロードされると実行される js コードの一部です。utm_* クエリ パラメータが見つからない場合、ga には何も送信されないため、そこに表示される統計は読み取れません。ほとんどの場合、ga ui に総計が表示されるだけです。

とにかくやりたいなら…

$trackingParams = array('utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term');
$queryParams = array();
parse_str($_SERVER['QUERY_STRING'], $queryParams);
if (count(array_intersect($queryParams, $trackingParams)) > 1) {
    // This url has tracking params
    foreach ($trackingParams as $paramName) {
        unset($queryParams[$paramName]);
    }
    // You can use a regex, but i wouldn't recommend it
    $newUrl = str_replace(
        $_SERVER['QUERY_STRING'],
        http_build_query($queryParams),
        $_SERVER['REQUEST_URI']
    );
    header('Location: ' . $newUrl, true, 301);
    exit;
}

これは、現在の URL で utm_* パラメータを検索し、それらのない URL にリダイレクトして、他のクエリ パラメータをそのままにしておくコードです。

于 2012-09-19T15:06:42.917 に答える