TCRM Kurulum Kılavuzu

1. Adım: Google Cloud Platform'u (GCP) kurun

UYARI: Google'ın sahip olduğu GCP projeleri Zorunluluk (ECP) tarafından zorunlu tutulabilir. Bu durumda, yükleme başarısız olur ve bir güvenlik anahtarı istenir. Bu durumu önlemek için yeni bir GCP projesi oluşturun (ECP'nin projenizi bulması yaklaşık 24 saat sürer) veya bu sorun için kalıcı bir çözüm bulmaya çalıştığımız herkese açık olmayan bir projeden yararlanın.

1.1 GCP Projesi Seçme veya Oluşturma

Yeni bir Google Cloud Platform projesi oluşturun veya mevcut bir projeyi kullanın. Projeyi açın ve sayfanın üst kısmında proje adını gördüğünüzden emin olun.

2. Adım: TCRM'yi yükleyin

2.1 TCRM Kod klasörüne erişim isteyin

TCRM açık kaynaklı olana ve harici olarak kullanıma sunulana kadar her kullanım için klonlama izni gerekir. TCRM kod klasörünü klonlama erişimi almak için bu istek formunu gönderin.

2.2 TCRM'yi yükleme

  1. GCP komut satırını açmak için sayfanın sağ üst köşesindeki Cloud Shell simgesini tıklayın.

  2. TCRM kod klasörünü klonlamak için kabukta aşağıdaki komutu çalıştırın:

      git clone https://github.com/google/TaglessCRM.git
    

  3. Daha sonra şu komutu çalıştırın:

      cd TaglessCRM && sh setup.sh --project_id=$GOOGLE_CLOUD_PROJECT
    

NOT: Bu komut aşağıdaki 3 adımı gerçekleştirir:

  1. Python sanal ortamı oluşturun ve gerekli tüm Python paketlerini yükleyin.
  2. GCP projesinde gerekli Cloud API'lerini etkinleştirin.
  3. Cloud Composer ortamı oluşturun ve TCRM DAG'leri bu alana dağıtın.

NOT: Yükleme işlemi yaklaşık 2 saat sürer. Lütfen komut dosyasının çalışması tamamlanana kadar bekleyin.

3. Adım: Airflow'u Yapılandırma ve Değişkenleri Ayarlama

3.1 BigQuery Bağlantısı Oluşturma

BigQuery'den veri okumak için hizmet hesabınızı BigQuery bağlantısına bağlamanız gerekir.

Kimlik → Hizmet Hesapları'nı tıklayın. Ardından tcrm-sa ile başlayan hizmet hesabının yanındaki üç noktayı tıklayın ve Anahtar Oluştur → JSON → Oluştur'u seçin.

İndirilen anahtarı bir metin düzenleyicide açın ve içindeki JSON'ı kopyalayın.

Airflow'a geri dönün (Oluşturucu → Airflow) ve Yönetici → Bağlantılar'ı seçin.

bigquery_default bağlantısının yanındaki kalem simgesini tıklayın.

NOT: Varsayılan bağlantı adı bigquery_default şeklindedir. Farklı bir BigQuery bağlantı adı kullanıyorsanız monitoring_bq_conn_id ve bq_conn_id Airflow değişkenlerini (bağlantıları değil, değişkenleri) yeni bağlantı adıyla ayarladığınızdan emin olun.

İPUCU: Airflow bağlantılarını yönetme hakkında daha fazla bilgi için bu sayfaya bakın.

Hizmet hesabı JSON'ını Keyfile JSON alanına yapıştırın ve kaydet'i tıklayın.

3.2 Airflow kullanıcı arayüzünü kullanarak değişkenleri ayarlama

  1. Ekranın sol üst kısmındaki menüyü açın. Ardından Oluşturma ortamları sayfasını açmak için Composer düğmesini tıklayın.

  2. Liste Oluşturma Aracı'nda, listenin sol tarafında tcrm-env adlı satırı bulun. Bu satırda Airflow bağlantısını tıklayarak Airflow konsolunu açın.

  3. Airflow konsolunda üst menü çubuğunda Admin seçeneğini tıklayın ve açılır menüden Variables öğesini seçin.

  4. Değişkenler ekranında Create simgesini tıklayın.

  5. Yeni bir değişken eklemek için değişken anahtar adını ve değeri girip save simgesini tıklayın. Her DAG için hangi değişkenlerin gerekli olduğunu görmek üzere sonraki 2 adıma bakın.

3.3 Genel DAG değişkenlerini yapılandırma

Aşağıdaki tabloda, tüm DAG'lerin ihtiyaç duyduğu genel değişkenler verilmiştir. Bu değişkenlerde varsayılan değerler sizin için otomatik olarak ayarlanmıştır. Bu nedenle, varsayılan değerler ihtiyaçlarınıza uygunsa herhangi bir değişiklik yapmanız gerekmez. Bununla birlikte, aynı Variable Name özelliğine sahip bir Airflow değişkeni başka bir değere ayarlayarak bu değişkenleri istediğiniz zaman değiştirebilirsiniz.

Farklı DAG'lerin farklı yapılandırmalara sahip olmasına izin vermek üzere bazı değişken adlarında DAG adı, ön ek olarak yer alır. Lütfen <DAG Name> kısmını değiştirdiğinizden ve doğru DAG adını kullandığınızdan emin olun.

Örneğin, tcrm_gcs_to_ga DAG için planlama değişkenini ayarlamak üzere aşağıdaki tablodan değişken adını <DAG Name>_schedule alın ve tcrm_gcs_to_ga_schedule adlı bir değişken oluşturun. tcrm_gcs_to_ads_oc DAG planlamak için tcrm_gcs_to_ads_oc_schedule adlı bir değişken oluşturun.

DAG adını DAG'ler sekmesinde Airflow kullanıcı arayüzünde bulabilirsiniz:

3.3.1 Genel Değişken Tablosu
Değişken Adı Varsayılan Değer Değişken Bilgileri
<DAG_Name>_retries 0 Tam sayı. Airflow başarısız olursa DAG'yi yeniden çalıştırmaya çalışır. TCRM'nin kendi yeniden deneme mekanizması olduğundan bunu 0'da tutmanızı öneririz. Ancak, bu değerin başka bir tam sayıya ayarlanması hataya neden olmaz ancak daha önce başarısız olan etkinlikleri yeniden göndermeyi denemez.
<DAG_Name>_retry_delay 3 Tam sayı. Her DAG yeniden yayını arasındaki dakika sayısı.
<DAG_Name>_schedule @once DAG Programı. DAG'leri planlama hakkında daha fazla bilgi için 3.3.2 DAG planlama bölümüne bakın.
<DAG_Name>_is_retry 1 Etkinleştirmek için 1, devre dışı bırakmak için 0. DAG'nin daha önce başarısız olan etkinlikleri aynı çıkış kaynağına göndermeyi tekrar deneyip denememesi gerektiği. Bu, önceki benzer denemelerden başarısız etkinlikleri göndermeye yönelik dahili bir yeniden denemedir. Bu, tüm DAG'nin Airflow yeniden denemesinden farklıdır. Daha fazla bilgi için bu Kullanım Kılavuzu'nun Sistemi Yeniden Deneme bölümüne bakın.
<DAG_Name>_is_run 1 Etkinleştirmek için 1, devre dışı bırakmak için 0. DAG'nin bir ana çalıştırma içerip içermeyeceği. Kullanıcı ana çalıştırma işlemini atlamak ve yalnızca yeniden deneme işlemini çalıştırmak isterse bu seçenek devre dışı bırakılabilir. Daha fazla bilgi için bu Kullanım Kılavuzu'nun Çalıştır bölümüne bakın.
<DAG_Name>_enable_run_report 0 Etkinleştirmek için 1, devre dışı bırakmak için 0. DAG'nin çalıştırılacak bir rapor döndürüp döndürmeyeceğini belirtir. Tüm DAG'ler raporlara sahip değildir. Daha fazla bilgi için bu Kullanım Kılavuzu'nun Raporlar bölümüne bakın.
<DAG_Name>_enable_monitoring 1 Etkinleştirmek için 1, devre dışı bırakmak için 0. Daha fazla bilgi için bu Kullanım Kılavuzu'nun İzleme bölümüne bakın.
monitoring_dataset tcrm_monitoring_dataset İzleme tablosunun veri kümesi kimliği.
monitoring_table tcrm_monitoring_table İzleme tablosunun tablo adı.
monitoring_bq_conn_id bigquery_default İzleme tablosunun BigQuery bağlantı kimliği. Bu, giriş BQ bağlantı kimliği ile aynı veya bundan farklı olabilir.
3.3.2 DAG planlama

DAG planlayıcısını ayarlamak için plan yapmak istediğiniz her DAG için bir planlama değişkeni oluşturun. Değişken adı DAG adıyla başlamalı ve ardından _schedule gelmelidir.

Değişkenin değeri, DAG'nizi planlamak istediğiniz aralık olmalıdır. Örneğin:

DAG'yi yalnızca bir kez çalıştırmak için @bir kez, DAG'yi buna göre çalıştırmak için @daily veya @weekly ekleyin. Mevcut tüm planlama seçenekleri hakkında bilgi edinmek için bu rehberi inceleyin.

Bunlar isteğe bağlı değişkenlerdir. Program değişkenleri ayarlanmazsa tüm DAG'ler için varsayılan planlama @once şeklindedir.

3.4 Belirli DAG değişkenlerini yapılandırma

Aşağıdaki bölüm, her DAG'yi çalıştırmak için hangi değişkenlerin gerekli olduğunu gösterir. Yalnızca kullanmayı planladığınız DAG'ler için değişken oluşturmanız gerekir.

3.4.1 tcrm_bq_to_ga DAG

tcrm_bq_to_ga DAG'yi çalıştırmak için aşağıdaki değişkenleri ayarlayın:

  • bq_dataset_id: Verileri içeren BigQuery veri kümesinin adı. Örnek: my_dataset
  • bq_table_id: Verileri içeren BigQuery tablosunun adı. Örnek: my_table
  • ga_tracking_id: Google Analytics İzleme Kimliği. Örnek: UA-123456789-1

3.4.2 tcrm_gcs_to_ga DAG

tcrm_gcs_to_ga DAG'yi çalıştırmak için aşağıdaki değişkenleri ayarlayın:

  • gcs_bucket_name: Cloud Storage grup adı. Örnek: my_bucket
  • gcs_bucket_prefix: Paket içindeki veri klasörüne giden yol. Örnek: folder/sub_folder
  • gcs_content_type(isteğe bağlı): Cloud Storage içerik türü. JSON veya CSV.
  • ga_tracking_id: Google Analytics İzleme Kimliği. Örnek: UA-123456789-1

3.4.3 tcrm_bq_to_ads_oc DAG

tcrm_bq_to_ads_oc DAG'yi çalıştırmak için aşağıdaki değişkenleri ayarlayın:

3.4.4 tcrm_gcs_to_ads_oc DAG

tcrm_gcs_to_ads_oc DAG'yi çalıştırmak için aşağıdaki değişkenleri ayarlayın:

  • gcs_bucket_name: Cloud Storage grup adı. Örnek: my_bucket
  • gcs_bucket_prefix: Paket içindeki veri klasörüne giden yol. Örnek: folder/sub_folder
  • gcs_content_type(isteğe bağlı): Cloud Storage içerik türü. JSON veya CSV.
  • ads_credentials: Google AdWords API için kimlik doğrulama bilgileri, daha fazla bilgi için lütfen 3.5.1 Google Ads Kimlik Doğrulama için ads_credentials YAML dizesi oluşturma bölümüne bakın.

3.5 Google Platformlarına Göre Kimlik Doğrulama

3.5.1 Google Ads Kimlik Doğrulaması için ads_credentials YAML dizesi oluşturma

Google Ads'de kimliğinizi doğrulamak için YAML biçimli bir dize oluşturmanız ve bunu bir Airflow parametresi olarak kaydetmeniz gerekir. Bu parametre, TCRM tarafından TCRM ile Google Ads arasında kimlik doğrulama yapmak için kullanılır. Dize biçimi şu şekildedir:

developer_token: abcd
client_id: test.apps.googleusercontent.com
client_secret: secret
refresh_token: 1//token
login_customer_id: 1234567890
use_proto_plus: True

login_customer_id, Google Ads'e giriş yaptıktan sonra e-postanızın sağ üst tarafında bulunur. Müşteri kimliği, otomatikleştirmek istediğiniz Google Ads hesaplarını içeren bir MM hesap kimliği olmalıdır.

developer_token, Google Ads MM hesabınıza giriş yapmanızın ardından API Merkezi'nde yer alır.

client_id ve client_secret, GCP konsolundaki API'ler ve Hizmetler sayfasında oluşturulabilir.

Refresh_token, şu adımlar uygulanarak oluşturulabilir:

  • Python komut dosyasını indirir.

  • Python komut dosyasını bir terminaldeki gerekli parametrelerle çalıştırın. python generate_refresh_token.py --client_id INSERT_CLIENT_ID --client_secret INSERT_CLIENT_SECRET

  • Bağlantıyı tıklayın.

  • Google Ads verilerinizi değiştirme izni olan e-posta hesabını seçin ve İzin ver'i tıklayın.

  • Kodu kopyalayın ve kodun ardından terminale yapıştırın. Yenileme jetonu aşağıda gösterilir.

4. Adım: Verileri Göndermeye Hazırlayın

4.1 Google Analytics (GA) İçin Veri Hazırlama

NOT: Ayrıntılı gereksinimler için Measurement Protocol API'ye bakın.

Verilerinizi GA'ya göndermek için aşağıdaki 3 seçenekten birini belirleyin:

  1. SQL tablo biçiminde tcrm_bq_to_ga DAG kullanarak BigQuery'den.

  2. JSON Biçiminde tcrm_gcp_to_ga DAG kullanılarak Google Cloud Storage'dan.

{"cid": "12345.67890", "t":"event", "ec": "video", "ea": "play", "el": "holiday", "ev": "300" }
{"cid": "12345.67891", "t":"event", "ec": "video", "ea": "play", "el": "holiday", "ev": "301" }
{"cid": "12345.67892", "t":"event", "ec": "video", "ea": "play", "el": "holiday", "ev": "302" }
{"cid": "12345.67893", "t":"event", "ec": "video", "ea": "play", "el": "holiday", "ev": "303" }
  1. CSV Biçiminde tcrm_gcp_to_ga DAG kullanan Google Cloud Storage'dan.
cid,t,ec,ea,el,ev
12345.67890,event,video,play,holiday,300
12345.67891,event,video,play,holiday,301
12345.67892,event,video,play,holiday,302
12345.67893,event,video,play,holiday,303

UYARI: GA'nın TCRM'den gönderilen verileri kabul edeceğinden emin olmak için GA'nın bot filtrelemesini yapılandırmanız gerekir. Bunu yapmak için Google Analytics kullanıcı arayüzünde Admin -> View Settings -> Bot Filtering adresine gidin ve "Bilinen botlar ve örümceklerden gelen tüm isabetleri hariç tut" seçeneğinin işaretini kaldırın.

4.2 Google Ads Çevrimdışı Dönüşüm İçin Veri Hazırlama

Verilerinizi Google Ads'e göndermek için aşağıdaki 3 seçenekten birini belirleyin:

  1. SQL tablo biçiminde tcrm_bq_to_ads_oc DAG kullanarak BigQuery'den.

  2. JSON Biçiminde tcrm_gcs_to_ads_oc DAG kullanılarak Google Cloud Storage'dan.

{"conversionName": "my_conversion_1", "conversionTime":"20191030 122301 Asia/Calcutta", "conversionValue": "0.47", "googleClickId": "gclid1"}
{"conversionName": "my_conversion_1", "conversionTime":"20191030 122401 Asia/Calcutta", "conversionValue": "0.37", "googleClickId": "gclid2"}
{"conversionName": "my_conversion_2", "conversionTime":"20191030 122501 Asia/Calcutta", "conversionValue": "0.41", "googleClickId": "gclid3"}
{"conversionName": "my_conversion_2", "conversionTime":"20191030 122601 Asia/Calcutta", "conversionValue": "0.17", "googleClickId": "gclid4"}
  1. CSV Biçiminde tcrm_gcp_to_ads_oc DAG kullanan Google Cloud Storage'dan.
conversionName,conversionTime,conversionValue,googleClickId
my_conversion_1,20191030 122301 Asia/Calcutta,0.47,gclid1
my_conversion_1,20191030 122401 Asia/Calcutta,0.37,gclid2
my_conversion_2,20191030 122501 Asia/Calcutta,0.41,gclid3
my_conversion_2,20191030 122601 Asia/Calcutta,0.17,gclid4

5. Adım: TCRM'yi çalıştırın

Airflow konsolunda üst menü çubuğundaki DAGs seçeneğini tıklayın. Soldaki listede çalıştırmak istediğiniz DAG'yi bulun. Ardından, listenin sağ tarafındaki Play düğmesini tıklayarak kodu çalıştırın.