Google E-Tablolar'da Google Analytics Verilerine Otomatik Erişim

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Nick Mihailovski, Google Analytics API Ekibi – Ağustos 2012

Bu eğitimde, Apps Komut Dosyası'nı kullanarak Google E-Tablolar'da Yönetim ve Temel Raporlama API'lerine nasıl erişileceği açıklanmaktadır.


Giriş

Google E-Tablolar'dan Google Analytics verilerinize erişmek için Google Analytics API'yi ve Google Apps Komut Dosyası'nı kullanabilirsiniz. Bu özellik, kolay paylaşım, ortak çalışma, grafik oluşturma ve görselleştirme araçları gibi Google E-Tablolar'ın tüm harika özelliklerini analiz verilerinizle kullanmanıza olanak sağladığı için etkilidir.

Bu eğitim, Google Apps Komut Dosyası'nı kullanarak Google E-Tablolar'da Google Analytics verilerinize erişmek için gerekli olan kod boyunca size yol gösterecektir.

Genel bakış

Bu eğitim, nasıl kaydolacağınızı ve Google Analytics API'yi kullanmak için Apps Komut Dosyası ortamını nasıl yapılandıracağınızı gösterir. Yapılandırılan eğitim, Management API'sini kullanarak yetkili kullanıcı için görünüm (profil) kimliğini nasıl alacağınız konusunda size yol gösterir. Ardından, Google'dan ilk 250 mobil arama anahtar kelimesini almak amacıyla Temel Raporlama API'sini sorgulamak için görünüm (profil) kimliğini kullanın. Son olarak, sonuçlar bir Google E-Tablosu'na eklenir. Veri topladıktan sonra, eğitimde verilerin nasıl otomatik hale getirileceği de anlatılmaktadır.

Google Analytics API ve Apps Komut Dosyası'nı kullanarak uygulama oluştururken genellikle aşağıdaki adımları uygularsınız:

  • Google E-Tablolar'da Google Analytics API'lerini etkinleştirme
  • Google Analytics API'leriyle çalışma

Her adımı ayrıntılı olarak inceleyelim.

Apps Komut Dosyası'nda Google Analytics API'yi etkinleştirin

Google E-Tablolar'dan Google Analytics verilerinize erişimi etkinleştirmek için şu adımları uygulayın:

  1. Bir Google E-Tablolar dosyası oluşturun. Güzel bir ad verin.
  2. Yeni bir Apps Komut Dosyası oluşturun.
    1. Menüde Uzantılar > Apps Komut Dosyası'na gidin.
    2. Bir menü açılırsa Boş Proje'yi tıklayın.
    3. Projeye bir ad verin. Güzel bir adı olduğundan emin olun.

Yeni bir komut dosyanız olduğunda Google Analytics Hizmeti'ni etkinleştirmeniz gerekir.

  1. Komut dosyası düzenleyicisinde Kaynaklar > Gelişmiş Google hizmetleri... seçeneğini belirleyin
  2. Açılan iletişim kutusunda Google Analytics API'nin yanındaki açık/kapalı anahtarını tıklayın.
  3. İletişim kutusunun en altındaki Google Developers Console bağlantısını tıklayın.
  4. Yeni konsolda Google Analytics API'nin yanındaki açık/kapalı anahtarını tekrar tıklayın. (Etkinleştirildikten sonra sayfanın üstüne atlar.)
  5. Komut dosyası düzenleyicisine geri dönün ve iletişim kutusunda Tamam'ı tıklayın.

Komut dosyanıza başarıyla yeni bir Google API hizmeti eklediğinizi belirten küçük bir sarı iletişim kutusu açılır. Artık ilk komut dosyanızı yazmaya hazırsınız.

Google Analytics API ile çalışma

Bu eğiticideki bu komut dosyası, Google Analytics API'yi en iyi 250 Google mobil arama anahtar kelimesi için sorgulayacak ve ardından sonuçları Google E-Tablolar'a çıkaracaktır. Bunun için komut dosyası şu adımları uygular:

  • Yetkili kullanıcının ilk görünümünü (profil) alın.
  • Veriler için Core Reporting API'yi sorgulayın.
  • Bir e-tabloya veri ekleyin.

Boş projeye aşağıdaki işlevi ekleyin.

function runDemo() {
  try {

    var firstProfile = getFirstProfile();
    var results = getReportDataForProfile(firstProfile);
    outputToSpreadsheet(results);

  } catch(error) {
    Browser.msgBox(error.message);
  }
}

Yukarıdaki kodda, API hatalarını işlemek için bir try...catch bloğu kullanılır. Herhangi bir hata oluşursa program yürütme durur ve hata bir mesaj kutusunda gösterilir. try blokunda, komut dosyasının uygulayacağı adımların her birini gerçekleştirmek için bir işlev kullanılır. Şimdi bu işlevlerin her biri için kodu ekleyelim.

Yetkili Kullanıcının İlk Görünümünü (Profil) alma

Google Analytics'te her rapor bir görünüme (profil) aittir ve bir görünüm (profil) kimliği ile tanımlanır. Dolayısıyla, rapor verileri için bir sorgu belirtirseniz verileri almak istediğiniz görünümün (profilin) görünüm (profil) kimliğini de belirtmeniz gerekir.

Google Analytics Management API bir kullanıcıya ait tüm hesaplara, web mülklerine ve görünüm (profil) varlıklarına erişim sağlar. Bu varlıkların her biri bir hiyerarşiye aittir ve yetkili kullanıcının görünüm (profil) kimliğini almak için bu hiyerarşinin programatik olarak geçişini yapabilirsiniz.

Yazacağımız ikinci işlev, Management API hiyerarşisinin aşağısına inin ve kullanıcının ilk görünümünü (profili) döndürür. Aşağıdaki kodu kopyalayıp Apps Komut Dosyası projenize yapıştırın:

function getFirstProfile() {
  var accounts = Analytics.Management.Accounts.list();
  if (accounts.getItems()) {
    var firstAccountId = accounts.getItems()[0].getId();

    var webProperties = Analytics.Management.Webproperties.list(firstAccountId);
    if (webProperties.getItems()) {

      var firstWebPropertyId = webProperties.getItems()[0].getId();
      var profiles = Analytics.Management.Profiles.list(firstAccountId, firstWebPropertyId);

      if (profiles.getItems()) {
        var firstProfile = profiles.getItems()[0];
        return firstProfile;

      } else {
        throw new Error('No views (profiles) found.');
      }
    } else {
      throw new Error('No webproperties found.');
    }
  } else {
    throw new Error('No accounts found.');
  }
}

Bu işlevde hesap toplama, ilk olarak Analytics.Management.Accounts.list yöntemi kullanılarak sorgulanır. Yetkili kullanıcının Google Analytics hesapları varsa ilk hesabın kimliği alınır. Ardından, Analytics.Management.Webproperties.list yöntemini çağırarak ve bir önceki adımda hesap kimliğinin aldığı yöntemi ileterek web mülkleri koleksiyonu sorgulanır. Web mülkleri mevcutsa görünüm (profil) koleksiyonu, Analytics.Management.Profiles.list yöntemi kullanılarak sorgulanır. Hem hesap kimliği hem de web mülkü kimlikleri, bu yönteme parametre olarak aktarılır. Görünümler (profiller) varsa ilk görünüm (profil) döndürülür.

Herhangi bir anda bir API hatası oluşursa veya API yanıtı sonuç vermezse herhangi bir sonuç bulunamadığını belirten bir mesaj gönderilir. Yukarıdaki runDemo işlevinde catch bloğu bu hatayı yakalar ve mesajı kullanıcıya yazdırır.

Komut dosyası döndürüldükten sonra, raporlama verilerini sorgulayabilir.

Veriler için Core Reporting API'yi sorgulayın.

Bir görünüm (profil) kimliğine sahip olduğunuzda, Google Analytics rapor verilerini sorgulamak için Temel Raporlama API'sini kullanırsınız. Bu bölümde, Apps Komut Dosyası'nı kullanarak bu API'yi nasıl sorgulayacağınızı öğreneceksiniz.

Apps Komut Dosyası projenize aşağıdaki kodu ekleyin:

function getReportDataForProfile(firstProfile) {

  var profileId = firstProfile.getId();
  var tableId = 'ga:' + profileId;
  var startDate = getLastNdays(14);   // 2 weeks (a fortnight) ago.
  var endDate = getLastNdays(0);      // Today.

  var optArgs = {
    'dimensions': 'ga:keyword',              // Comma separated list of dimensions.
    'sort': '-ga:sessions,ga:keyword',       // Sort by sessions descending, then keyword.
    'segment': 'dynamic::ga:isMobile==Yes',  // Process only mobile traffic.
    'filters': 'ga:source==google',          // Display only google traffic.
    'start-index': '1',
    'max-results': '250'                     // Display the first 250 results.
  };

  // Make a request to the API.
  var results = Analytics.Data.Ga.get(
      tableId,                    // Table id (format ga:xxxxxx).
      startDate,                  // Start-date (format yyyy-MM-dd).
      endDate,                    // End-date (format yyyy-MM-dd).
      'ga:sessions,ga:pageviews', // Comma seperated list of metrics.
      optArgs);

  if (results.getRows()) {
    return results;

  } else {
    throw new Error('No views (profiles) found');
  }
}

function getLastNdays(nDaysAgo) {
  var today = new Date();
  var before = new Date();
  before.setDate(today.getDate() - nDaysAgo);
  return Utilities.formatDate(before, 'GMT', 'yyyy-MM-dd');
}

Kodun ilk bölümü, Analytics.Data.Ga.get yöntemini kullanarak bir Temel Reporting API sorgusu oluşturur. Yöntem, alınacak rapor türünü belirten bir dizi parametreyi kabul eder. Her Temel Raporlama API'si sorgusu, bir dizi gerekli ve isteğe bağlı parametreden oluşur. Gerekli parametreler, yöntem olarak parametreye geçirilirken isteğe bağlı parametreler bir nesne olarak aktarılır.

table ID parametresi gereklidir ve ga: ön ekinin görünüm (profil) kimliği ile birleştirilmesiyle oluşturulur. Kod, önceki adımda alınan görünüm (profil) kimliğini kullanarak tablo kimliğini oluşturur. Başlangıç ve bitiş tarihi de gereklidir ve alınacak verilerin tarih aralığını belirtir. Her ikisi de getLastNdays işlevi kullanılarak bugünün tarihine göre hesaplanır. Son olarak, isteğe bağlı tüm parametreler optArgs nesnesi kullanılarak işleve geçirilir.

Analytics.Data.Ga.get yöntemi çalıştırıldığında, Core Reporting API'ye bir istek gönderilir. Bir hata oluşursa bu hata, harici runDemo yönteminde tanımlanan try...catch bloğuna kaydedilir. İstek başarılı olduysa sonuçlar döndürülür.

E-tabloya Veri Ekleme

Komut dosyamızın son adımı, Core Reporting API'den gelen sonuçları Google E-Tablolar'a aktarmaktır. Bu yöntem, outputToSpreadsheet yönteminden yararlanır. Projenize aşağıdaki kodu ekleyin:

function outputToSpreadsheet(results) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet();

  // Print the headers.
  var headerNames = [];
  for (var i = 0, header; header = results.getColumnHeaders()[i]; ++i) {
    headerNames.push(header.getName());
  }
  sheet.getRange(1, 1, 1, headerNames.length)
      .setValues([headerNames]);

  // Print the rows of data.
  sheet.getRange(2, 1, results.getRows().length, headerNames.length)
      .setValues(results.getRows());
}

Bu işlev öncelikle etkin e-tabloya yeni bir sayfa ekler. Daha sonra tüm üstbilgi ve raporlama verilerini e-tabloya ekler. Google E-Tablolar'a veri ekleme hakkında daha fazla ipucu için E-Tablolar'da Veri Saklama eğiticisindeki JavaScript Nesnelerinden E-Tablolara Veri Yazma'ya bakın.

Komut Dosyasını Çalıştır

Tüm kodu projeye ekledikten sonra çalıştırabilirsiniz.

  • Komut dosyası düzenleyicisi araç çubuğunda, işlev seçin açılır menüsünden runDemo'yi seçin.
  • Ardından, play düğmesini tıklayın.

Bunu ilk kez çalıştırdığınızda bu komut dosyasını Google Analytics hesap verilerinize erişmesi için yetkilendirmenizi isteyen bir pop-up kutusu gösterilir.

Yetkilendir'i tıklayın.

Tıklandığında, google.com üzerinde barındırılan yeni bir sayfa açılır ve komut dosyasına verilerinize erişim izni vermeniz istenir. İzin ver düğmesini tıkladığınızda bir onay sayfasına yönlendirilirsiniz. Bu noktada komut dosyası artık Google Analytics verilerinize erişebilir ve çalıştırılmaya devam edebilir.

Komut dosyası çalıştırıldıktan sonra Google E-Tablolar'ı tıklayarak pencereye gidin. API'den döndürülen tüm anahtar kelime verilerini veya hata mesajı içeren bir mesaj kutusu görürsünüz.

Komut dosyasını otomatikleştirin

Bu noktada, Google Analytics API'yi sorgulayan bir komut dosyanız olmalıdır. Artık her gece yeni verileri almak için bu komut dosyasını otomatik hale getirebilirsiniz. Apps Komut Dosyası, triggers özelliğini kullanarak otomasyonu son derece kolay hale getirir.

Bu komut dosyasını otomatikleştirmek için aşağıdaki adımları uygulayın:

  • Komut dosyası düzenleyicisi araç çubuğunda Resources -> All your triggers...'yi tıklayın.
  • Add a new trigger simgesini tıklayın. Tetikleyiciler iletişim kutusu görünür.
  • Tetikleyiciyi her gece runDemo yöntemini yürütecek şekilde yapılandırın
    • Run açılır listesi şu şekilde ayarlanmalıdır: runDemo
    • Events açılır listesi Time-driven, Day timer ve Midnight to 1am olarak ayarlanmalıdır.

Yapılandırıldığında bu komut dosyası her gece çalışır ve sabahları size yeni veriler sağlar.

Gece herhangi bir hata oluşursa bilgilendirilmek istersiniz. Apps Komut Dosyası, herhangi bir hata oluşursa uyarı e-postası göndermenize de olanak tanır. Bunu yapılandırmak için tetikleyiciler iletişim kutusunda notifications bağlantısını tıklayın. Yeni bir iletişim kutusu açılır ve hataların hangi e-posta adresine gönderilmesini istediğinizi yapılandırmanıza olanak tanır.

Sonuç

komut dosyanıza başarıyla kaydoldunuz ve erişimi yetkilendirdiniz. Görünüm (profil) kimliğini almak için Management API'yi birden fazla kez sorguladınız. Daha sonra, verileri almak ve Google E-Tablolar'a almak amacıyla Core Reporting API'yi sorgulamak için görünüm (profil) kimliğini kullandınız.

Eğiticide açıklanan teknikleri kullanarak daha karmaşık analizler yapabilir, daha kapsamlı analizler elde edebilir, özel kontrol panelleri oluşturabilir ve manuel raporları çok daha az zaman harcayabilirsiniz.

Google Analytics API'si ve Google Apps Komut Dosyası'ndan daha iyi yararlanmanıza yardımcı olacak diğer yararlı eğitimlerden birkaçını aşağıda bulabilirsiniz: