সার্ভার-সাইড এপিআইয়ের মাধ্যমে গুগল অ্যানালিটিকসে ইভেন্ট পোস্ট করার কোনও উপায় আছে কি? [বন্ধ]


178

আমি এটিতে ইভেন্টগুলি পোস্ট করে আমাদের ব্যাকএন্ড সিস্টেম থেকে গুগল অ্যানালিটিকাগুলি ব্যবহার করার চেষ্টা করছি। সার্ভার-সাইডে জিএর এপিআই দিয়ে এটি করার কোনও উপায় আছে কি?


হ্যাঁ, জাতীয় পরিমাপ প্রোটোকল ক্লায়েন্ট মত ব্যবহার এই এক
লয়েড

উত্তর:


231

সার্ভার-সাইড থেকে অ্যানালিটিক্স ডেটা ট্র্যাক করা এখন সম্ভব (এবং সহজ)। ইউনিভার্সাল অ্যানালিটিক্স প্রবর্তনের সাথে সাথে আপনি এখন জিএ সার্ভারগুলিতে ডেটা পোস্ট করতে পরিমাপ প্রোটোকলটি ব্যবহার করতে পারেন ।

কোড নমুনা এখানে


5
এটি উত্তর গ্রহণ করা উচিত। আমরা সম্ভবত ওপি-র মতো একই পরিস্থিতিতে রয়েছি যেখানে আমরা ওয়েবসাইট দর্শকদের ডেটা সহ মোটামুটি সঠিক উপার্জনের চিত্র রাখতে চাই। এবং ব্রাউজারের সাইড ট্র্যাকিং অর্থ প্রদান সম্পূর্ণ করার শেষ ধাপের জন্য যথেষ্ট ভাল নয় (উদাহরণস্বরূপ গ্রাহক পেমেন্ট সরবরাহকারী সাইট থেকে ফিরে আসে না)।
তাদাস সাসনউস্কাস

আমি গ্রাহক একই সমস্যা পেমেন্ট প্রদানকারী সাইট থেকে ফিরে আসে না, কিন্তু আমি ক্লায়েন্ট আইডি নেই। ক্লায়েন্ট সেশনে ডেটা সংযুক্ত করবেন কীভাবে?
কোরজাভিন ইভান

2
@ কর্জাভিনআইভান পরিমাপ প্রোটোকলের জন্য প্রয়োজনীয় ক্লায়েন্ট আইডি বা সিআইডি প্যারামিটারটি পেতে নির্দেশাবলী এখানে রয়েছে: ডেভেলপারস
জর্জি পেড্রেট

1
এটি অ্যাড-ব্লকারগুলির প্রভাবের চারপাশে কাজ করার ভাল উপায় বলে মনে হচ্ছে যা ga.js এর মতো রেফগুলি সন্ধান করে
জোশুয়া ডেভিড

একই পরিমাপ প্রোটোকল, গুগল অ্যানালিটিক্স এবং গুগল ট্যাগ ম্যানেজার ??
কিকিনেট

21
using System;
using System.Collections.Generic;
using System.Web;
using System.Net;
using System.IO;
using System.Text;

    public class GoogleAnalyticsApi
    {
        public static void TrackEvent(string type, string category,
               string action, string label, string value)
        {

            ASCIIEncoding encoding = new ASCIIEncoding();
            string postData = 
                "v=1&tid=UX-XXXXXXX-1&cid=1234&t=" + type +
                "&ec=" + category + 
                "&ea=" + action + 
                "&el=" + label + 
                "&ev=" + value;
            byte[] data = encoding.GetBytes(postData);
            HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("https://www.google-analytics.com/collect");

            myRequest.Method = "POST";
            myRequest.ContentType = "application/x-www-form-urlencoded";
            myRequest.ContentLength = data.Length;
            Stream newStream = myRequest.GetRequestStream();
            newStream.Write(data, 0, data.Length);
            newStream.Close();

        }
    }

এটি সর্বজনীন বিশ্লেষণ সঠিক ব্যবহার করে?
ব্র্যাডি মরিটজ

@ ব্র্যাডি মরিৎস হ্যাঁ এটি করে
কোবি ডুয়েক

এছাড়াও- পোস্ট ব্যবহার করার কোনও কারণ যখন এটি একটি অনুরোধ অনুরোধটিও ব্যবহার করতে পারে?
ব্র্যাডি মরিটজ

এই সি # হয়? আপনি সম্ভবত নির্দিষ্ট করা উচিত?
ইসকরোথ

7

আপনি যদি পিএইচপি ব্যবহার করেন তবে গুগল অ্যানালিটিক্স অ্যাকাউন্টে পৃষ্ঠাগুলি প্রেরণ করতে আপনি সহজেই অ্যানালিটিক্স পরিমাপ প্রোটোকলকে কল করতে পারেন :

function sendAnalytics($sGaId, $sHostname, $sPath, $sTitle) {

    $aParams = array();

    //Protocol Version
    $aParams['v'] = '1';

    //Tracking ID / Web Property ID
    $aParams['tid'] = $sGaId;

    //Anonymize IP
    $aParams['aip'] = '1';

    //Data Source
    $aParams['ds'] = 'web';

    //Queue Time
    $aParams['qt'] = 0;

    //Client ID
    $aParams['cid'] = substr(md5($_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT']), 0, 8);

    //User ID
    //$aParams['uid'] = '';

    //Session Control
    //$aParams[''] = '';

    //IP Override
    $aParams['uip'] = $_SERVER['REMOTE_ADDR'];

    //User Agent Override
    $aParams['ua'] = urlencode($_SERVER['HTTP_USER_AGENT']);

    //Geographical Override
    //$aParams['geoid'] = '';

    //Document Referrer
    //$aParams['dr'] = '';

    //Campaign Name
    //$aParams['cn'] = '';

    //Campaign Source
    //$aParams['cs'] = '';

    //Campaign Medium
    //$aParams['cm'] = '';

    //Campaign Keyword
    //$aParams['ck'] = '';

    //Campaign Content
    //$aParams['cc'] = '';

    //Campaign ID
    //$aParams['ci'] = '';

    //Google AdWords ID
    //$aParams['gclid'] = '';

    //Google Display Ads ID
    //$aParams[''] = '';


    ////SystemInfo => see docs

    //Hit type
    $aParams['t'] = 'pageview';

    //Non-Interaction Hit
    //$aParams['ni'] = '';

    //Hostname
    $aParams['dh'] = $sHostname;

    //Document Path
    $aParams['dp'] = $sPath;

    //Document title
    $aParams['dt'] = urlencode($sTitle);


    $sGaUrl = 'http://www.google-analytics.com/collect?';


    foreach($aParams AS $sKey => $sValue) {
        $sGaUrl.= "$sKey=$sValue&";
    }

    $sGaUrl = substr($sGaUrl, 0, -1);

    file_get_contents($sGaUrl);
}


sendAnalytics('UA-XXXXXXXX-1', 'http://foo.com', '/bar', 'Foo Bar');

আশা করি এইটি কাজ করবে!


1
http_build_query () এটিকে একটু পরিষ্কার করতে পারে (এবং যথাযথ পালাতে সহায়তা করে)
কাইঞ্জো

2

কটাক্ষপাত ব্যবহার-পরিসংখ্যান মডিউল।

কমান্ড লাইন

শেল স্ক্রিপ্টগুলিতে ট্র্যাকিং পরিসংখ্যান:

# Track an event: category 'Backup', action 'start'
usage-stats event --tid UA-98765432-1 --ec Backup --ea start

# Perform the backup
cp files/** backup/

# Track an event: category 'Backup', action 'complete'
usage-stats event --tid UA-98765432-1 --ec Backup --ea complete

এপিআই

সবচেয়ে তুচ্ছ উদাহরণ।

const UsageStats = require('usage-stats')
const usageStats = new UsageStats('UA-98765432-1', { an: 'example' })

usageStats.screenView('screen name')
usageStats.event('category', 'action')
usageStats.send()
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.