4

私はすべて Google アナリティクスのサーバー側で行っていますが、GA は直接または参照のみを追跡しており、オーガニックを追跡する方法がわかりません。これは、直接または参照のいずれかを取得するコードの一部です。

              //Campaign is used for the referrals
              //If not in session and there is a referrer, create campaign from referrer 
              //and add it to the tracker and to session.
               if (!isset($_SESSION['campaign'])) {
                        if (isset($_SERVER['HTTP_REFERER']) && 
                                strpos($_SERVER['HTTP_REFERER'], parse_url($this->config['url']['base'], PHP_URL_HOST)) === FALSE) {
                                $campaign = GoogleAnalytics\Campaign::createFromReferrer($_SERVER['HTTP_REFERER']);
                                $this->tracker->setCampaign($campaign);
                                $_SESSION['campaign'] = serialize($campaign);
                        }
                } else {
                        //If already in session, add it to the tracker
                        $this->tracker->setCampaign(unserialize($_SESSION['campaign']));
                }

上記は基本的にリファラーを分析します。別のソースからの場合は紹介を作成し、そうでない場合は作成しません。その後、参照があった場合はセッションに保存されます。

では、どのように有機ソースを特定すればよいでしょうか? 考えられるオーガニックソースの表を作ろうと思っていたのですが、これが Google のやり方ですか? 何かのようなもの:

protected $organic_sources = array('www.google.com', 'www.yahoo.com')

次に、キャンペーンを作成する前に、そこにあるソースを確認します。配列内でオーガニック キャンペーンとして作成する場合です。これは最適なソリューションですか?オーガニックトラフィックを特定する方法について何か考えはありますか?

4

2 に答える 2

8

はい、それが Google のやり方です。オーガニック トラフィックを識別する小さな関数を作成しました。こんなふうになります:

        /*
         * Organic sources
         */
        protected $organic_sources = array('www.google' => array('q='),
                                           'daum.net/' => array('q='),
                                           'eniro.se/' => array('search_word=', 'hitta:'),
                                           'naver.com/' => array('query='),
                                           'yahoo.com/' => array('p='),
                                           'msn.com/' => array('q='),
                                           'bing.com/' => array('q='),
                                           'aol.com/' => array('query=', 'encquery='),
                                           'lycos.com/' => array('query='),
                                           'ask.com/' => array('q='),
                                           'altavista.com/' => array('q='),
                                           'search.netscape.com/' => array('query='),
                                           'cnn.com/SEARCH/' => array('query='),
                                           'about.com/' => array('terms='),
                                           'mamma.com/' => array('query='),
                                           'alltheweb.com/' => array('q='),
                                           'voila.fr/' => array('rdata='),
                                           'search.virgilio.it/' => array('qs='),
                                           'baidu.com/' => array('wd='),
                                           'alice.com/' => array('qs='),
                                           'yandex.com/' => array('text='),
                                           'najdi.org.mk/' => array('q='),
                                           'aol.com/' => array('q='),
                                           'mamma.com/' => array('query='),
                                           'seznam.cz/' => array('q='),
                                           'search.com/' => array('q='),
                                           'wp.pl/' => array('szukai='),
                                           'online.onetcenter.org/' => array('qt='),
                                           'szukacz.pl/' => array('q='),
                                           'yam.com/' => array('k='),
                                           'pchome.com/' => array('q='),
                                           'kvasir.no/' => array('q='),
                                           'sesam.no/' => array('q='),
                                           'ozu.es/' => array('q='),
                                           'terra.com/' => array('query='),
                                           'mynet.com/' => array('q='),
                                           'ekolay.net/' => array('q='),
                                           'rambler.ru/' => array('words=')
                                     );

上記をクラスに入れ、次の関数を追加します。

        /*
         * Check if source is organic
         * 
         * @param string $referrer The referrer page
         * 
         * @return true if organic, false if not
         */
        public function isTrafficOrganic($referrer) {
                //Go through the organic sources
                foreach($this->organic_sources as $searchEngine => $queries) {
                    //If referrer is part of the search engine...
                    if (strpos($referrer, $searchEngine) !== false) {
                            //Check if query is also there
                            foreach ($queries as $query) {
                                    if (strpos($referrer, $query) !== false) {
                                            //If there, traffic is organic
                                            return true;
                                    }
                            }
                    }
                }

                return false;
        }

$_SERVER['HTTP_REFERER']その後、param として渡すことで上記の関数を呼び出すことができます。誰かに役立つことを願っています。

于 2013-08-22T15:08:13.830 に答える