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
GCP komut satırını açmak için sayfanın sağ üst köşesindeki Cloud Shell simgesini tıklayın.
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
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:
- Python sanal ortamı oluşturun ve gerekli tüm Python paketlerini yükleyin.
- GCP projesinde gerekli Cloud API'lerini etkinleştirin.
- 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
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.Liste Oluşturma Aracı'nda, listenin sol tarafında
tcrm-env
adlı satırı bulun. Bu satırdaAirflow
bağlantısını tıklayarak Airflow konsolunu açın.Airflow konsolunda üst menü çubuğunda
Admin
seçeneğini tıklayın ve açılır menüdenVariables
öğesini seçin.Değişkenler ekranında
Create
simgesini tıklayın.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
veyaCSV
.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:
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
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.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
veyaCSV
.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ı 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:
SQL tablo biçiminde
tcrm_bq_to_ga
DAG kullanarak BigQuery'den.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" }
- 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:
SQL tablo biçiminde
tcrm_bq_to_ads_oc
DAG kullanarak BigQuery'den.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"}
- 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.