Menyalin data dari Google Ads menggunakan Azure Data Factory atau Synapse Analytics
BERLAKU UNTUK: Azure Data Factory
Azure Synapse Analytics
Tip
Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!
Artikel ini menguraikan cara menggunakan Aktivitas Salin di alur Azure Data Factory atau Synapse Analytics untuk menyalin data dari Google Ads. Artikel tersebut dibuat berdasarkan artikel gambaran umum aktivitas salin yang menyajikan gambaran umum aktivitas salin.
Penting
Harap tingkatkan versi driver Google Ads Anda sebelum 18 Februari 2024. Jika tidak, koneksi akan mulai gagal dengan kesalahan karena penghentian driver warisan.
Kemampuan yang didukung
Konektor Google Ads ini didukung untuk kemampuan berikut:
Kemampuan yang didukung | IR |
---|---|
Aktivitas penyalinan (sumber/-) | (1) (2) |
Aktivitas pencarian | (1) (2) |
① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri
Untuk daftar penyimpanan data yang didukung sebagai sumber/sink, lihat tabel Penyimpanan data yang didukung.
Layanan ini menyediakan driver bawaan untuk mengaktifkan konektivitas, oleh karena itu Anda tidak perlu memasang driver apa pun secara manual menggunakan konektor ini.
Memulai
Untuk melakukan aktivitas Salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:
- Alat Penyalinan Data
- Portal Microsoft Azure
- SDK .NET
- SDK Python
- Azure PowerShell
- REST API
- Templat Azure Resource Manager
Membuat layanan tertaut ke Google Ads menggunakan UI
Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke Google Ads di portal Azure UI.
Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:
Telusuri Google Ads dan pilih konektor Google Ads.
Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.
Detail konfigurasi konektor
Bagian berikut memberikan detail tentang properti yang digunakan untuk menentukan entitas Data Factory khusus untuk konektor Google Ads.
Properti layanan tertaut
Properti berikut ini didukung untuk layanan tertaut Google Ads:
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti jenis harus diatur ke: GoogleAdWords | Ya |
googleAdsApiVersion | Versi GOOGLE Ads API yang Anda gunakan saat memilih versi driver yang direkomendasikan. Anda dapat merujuk artikel ini untuk informasi versi API. | Ya |
clientCustomerID | ID pelanggan Klien dari akun Ads yang ingin Anda ambil data laporannya. | Ya |
loginCustomerID | ID pelanggan akun manajer Google Ads tempat Anda ingin mengambil data laporan pelanggan tertentu. | No |
developerToken | Token pengembang yang terkait dengan akun manajer yang Anda gunakan untuk memberikan akses ke ADS API. Anda dapat memilih untuk menandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau menyimpan kata sandi di Azure Key Vault, dan membiarkan aktivitas penyalinan menariknya dari sana saat melakukan penyalinan data - pelajari selengkapnya di Menyimpan kredensial di Key Vault. | Ya |
authenticationType | Mekanisme autentikasi OAuth 2.0 yang digunakan untuk autentikasi. Nilai yang diizinkan adalah: ServiceAuthentication, UserAuthentication. ServiceAuthentication hanya dapat digunakan pada IR yang dihost sendiri. |
Ya |
Untuk UserAuthentication: | ||
refreshToken | Token refresh diperoleh dari Google untuk mengotorisasi akses ke Ads for UserAuthentication. Anda dapat memilih untuk menandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau menyimpan kata sandi di Azure Key Vault, dan membiarkan aktivitas penyalinan menariknya dari sana saat melakukan penyalinan data - pelajari selengkapnya di Menyimpan kredensial di Key Vault. | No |
clientId | ID klien aplikasi Google yang digunakan untuk memperoleh token refresh. Anda dapat memilih untuk menandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau menyimpan kata sandi di Azure Key Vault, dan membiarkan aktivitas penyalinan menariknya dari sana saat melakukan penyalinan data - pelajari selengkapnya di Menyimpan kredensial di Key Vault. | No |
clientSecret | klien aplikasi Google yang digunakan untuk memperoleh token refresh. Anda dapat memilih untuk menandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau menyimpan kata sandi di Azure Key Vault, dan membiarkan aktivitas penyalinan menariknya dari sana saat melakukan penyalinan data - pelajari selengkapnya di Menyimpan kredensial di Key Vault. | No |
Untuk ServiceAuthentication: | ||
ID email akun layanan yang digunakan untuk ServiceAuthentication dan hanya dapat digunakan pada IR yang dihost sendiri. | No | |
privateKey | Kunci privat layanan yang digunakan untuk ServiceAuthentication untuk versi driver yang direkomendasikan dan hanya dapat digunakan pada IR yang dihost sendiri. Anda dapat memilih untuk menandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau menyimpan kata sandi di Azure Key Vault, dan membiarkan aktivitas penyalinan menariknya dari sana saat melakukan penyalinan data - pelajari selengkapnya di Menyimpan kredensial di Key Vault. | No |
Untuk ServiceAuthentication menggunakan versi driver warisan: | ||
ID email akun layanan yang digunakan untuk ServiceAuthentication dan hanya dapat digunakan pada IR yang dihost sendiri. | No | |
keyFilePath | Jalur lengkap ke .p12 atau .json file kunci yang digunakan untuk mengautentikasi alamat email akun layanan dan hanya dapat digunakan pada IR yang dihost sendiri. |
No |
trustedCertPath | Jalur lengkap file .pem yang berisi sertifikat OS tepercaya untuk memverifikasi server saat menyambungkan melalui TLS. Properti ini hanya dapat diatur saat menggunakan TLS pada Runtime integrasi yang dihost sendiri. Nilai defaultnya adalah file cacerts.pem yang diinstal dengan Runtime integrasi. | No |
useSystemTrustStore | Menentukan apakah akan menggunakan sertifikat OS dari penyimpanan kepercayaan sistem atau dari file PEM yang ditentukan. Nilai defaultnya adalah false. | No |
Contoh:
{
"name": "GoogleAdsLinkedService",
"properties": {
"type": "GoogleAdWords",
"typeProperties": {
"clientCustomerID": "<clientCustomerID>",
"loginCustomerID": "<loginCustomerID>",
"developerToken": {
"type": "SecureString",
"value": "<developerToken>"
},
"authenticationType": "UserAuthentication",
"refreshToken": {
"type": "SecureString",
"value": "<refreshToken>"
},
"clientId": {
"type": "SecureString",
"value": "<clientId>"
},
"clientSecret": {
"type": "SecureString",
"value": "<clientSecret>"
},
"googleAdsApiVersion": "v14"
}
}
}
Properti himpunan data
Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan himpunan data, lihat artikel himpunan data. Bagian ini menyediakan daftar properti yang didukung oleh himpunan data Google Ads.
Untuk menyalin data dari Google Ads, atur properti jenis himpunan data ke GoogleAdWordsObject. Berikut adalah properti yang didukung:
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti tipe himpunan data harus diatur ke: GoogleAdWordsObject | Ya |
tableName | Nama tabel. Tentukan properti ini ketika Anda menggunakan versi driver warisan. | Tidak (jika "kueri" di sumber aktivitas ditentukan) |
Contoh
{
"name": "GoogleAdsDataset",
"properties": {
"type": "GoogleAdWordsObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<GoogleAds linked service name>",
"type": "LinkedServiceReference"
}
}
}
Properti aktivitas salin
Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat artikel Alur. Bagian ini menyediakan daftar properti yang didukung oleh sumber Google Ads.
Google Ads sebagai sumber
Untuk menyalin data dari Google Ads, atur jenis sumber dalam aktivitas salin ke GoogleAdWordsSource. Berikut ini properti yang didukung di bagian sumber aktivitas salin:
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti jenis dari sumber aktivitas salin harus diatur ke: GoogleAdWordsSource | Ya |
pertanyaan | Gunakan kueri GAQL untuk membaca data. Misalnya: SELECT campaign.id FROM campaign . |
Tidak (jika "tableName" di himpunan data ditentukan) |
Contoh:
"activities":[
{
"name": "CopyFromGoogleAds",
"type": "Copy",
"inputs": [
{
"referenceName": "<GoogleAds input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "GoogleAdWordsSource",
"query": "SELECT campaign.id FROM campaign"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Properti aktivitas pencarian
Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.
Meningkatkan versi driver Google Ads
Untuk meningkatkan versi driver Google Ads, Anda perlu memperbarui layanan tertaut dan mempelajari cara bermigrasi dari SQL ke Google Ads Query Language (GAQL).
Memperbarui konfigurasi layanan tertaut
Di halaman Edit layanan tertaut, pilih Direkomendasikan di bawah Versi driver dan konfigurasikan layanan tertaut dengan merujuk ke Properti layanan tertaut.
Migrasi dari SQL ke GAQL
Konversikan pernyataan kueri dan nama bidang Anda saat bermigrasi dari SQL ke GAQL.
Pernyataan kueri
Jika Anda menggunakan kueri SQL di sumber aktivitas salin atau aktivitas pencarian yang merujuk ke layanan tertaut Google Ads warisan, Anda perlu memperbaruinya ke kueri GAQL.
Berbeda dengan SQL, kueri di GAQL terdiri dari enam jenis klausa:
SELECT
FROM
WHERE
ORDER BY
LIMIT
PARAMETERS
Buka Tata Bahasa Kueri Google Ads untuk pengenalan GAQL.
Ambil pernyataan SQL berikut sebagai contoh:
SELECT *|FieldName FROM ResourceName WHERE FieldName Operator Value
Anda dapat mengikuti panduan di bawah ini untuk mengonversi pernyataan SQL ke pernyataan GAQL yang sesuai:
- Jika
*
(tanda bintang) digunakan setelahSELECT
klausul, maka Anda perlu menentukan semua bidang yang diperlukan sebagai pengganti tanda bintang karena GAQL tidak mendukungSELECT *
. Buka artikel ini untuk melihat semua bidang yang dapat dipilih di sumber daya tertentu. - Jika nama bidang digunakan setelah
SELECT
klausul, maka Anda perlu mengonversi nama ke nama bidang yang sesuai di GAQL karena memiliki konvensi penamaan yang berbeda. Misalnya, namacampaign_id
bidang dalam pernyataan kueri SQL harus dikonversi kecampaign.id
di GAQL. Lihat Nama bidang untuk detail selengkapnya tentang konversi nama bidang. - Nama sumber daya dapat dibiarkan apa adanya kecuali kasusnya tidak konsisten dengan apa yang ditentukan di sini.
-
WHERE
klausul harus diperbarui sesuai dengan tata bahasa GAQL karena operator yang didukung oleh GAQL tidak konsisten dengan SQL, dan nama bidang juga harus dikonversi seperti yang dijelaskan di poin kedua.
Berikut adalah dua alat yang sangat berguna yang ditawarkan oleh Google dan sangat disarankan saat membangun pernyataan kueri GAQL yang sesuai:
Nama bidang
Nama bidang yang digunakan dalam SQL tidak selaras dengan GAQL. Anda juga perlu mempelajari aturan konversi dari nama bidang di SQL ke nama bidang di GAQL. Aturan konversi dapat diringkas sebagai berikut:
Jika nama bidang milik sumber daya, garis bawah (
_
) di SQL akan diubah menjadi titik (.
) di GAQL. Dan untuk kata-kata antara titik, pernyataan jenis camelCase yang digunakan dalam SQL akan diubah menjadi kata mandiri dengan garis bawah tambahan di antaranya. String pertama jenis PascalCase di SQL akan diubah ke nama sumber daya yang sesuai di GAQL.Jika nama bidang termasuk dalam segmen atau metrik, awalan
segments.
ataumetrics.
harus ditambahkan di GAQL, maka ikuti aturan yang sama seperti yang dijelaskan di titik pertama untuk mengonversi nama.
Berikut adalah contoh konkret konversi nama bidang:
Kategori | Nama bidang di SQL | Nama bidang di GAQL |
---|---|---|
Bidang sumber daya | Campaign_startDate |
campaign.start_date |
Bidang sumber daya | Customer_conversionTrackingSetting_conversionTrackingStatus |
customer.conversion_tracking_setting.conversion_tracking_status |
Segmen | DayOfWeek |
segments.day_of_week |
Metrik | VideoViews |
metrics.video_views |
Perbedaan antara Google Ads menggunakan versi driver yang direkomendasikan dan lama
Tabel di bawah ini menunjukkan perbedaan fitur antara Google Ads menggunakan versi driver yang direkomendasikan dan lama.
Versi driver yang direkomendasikan | Versi driver warisan |
---|---|
Menentukan versi Google Ads API didukung. | Menentukan versi GOOGLE Ads API tidak didukung. |
ServiceAuthentication mendukung dua properti: • privateKey |
ServiceAuthentication mendukung empat properti: • keyFilePath • trustedCertPath • useSystemTrustStore |
Memilih tabel dalam himpunan data tidak didukung. | Dukungan memilih tabel dalam himpunan data dan mengkueri tabel dalam aktivitas salin. |
Mendukung sintaks GAQL sebagai bahasa kueri. | Mendukung sintaks SQL sebagai bahasa kueri. |
Nama kolom output sama dengan nama bidang yang ditentukan di Google Ads. | Nama kolom output tidak cocok dengan nama bidang yang ditentukan di Google Ads. |
Pemetaan berikut digunakan dari jenis data Google Ads ke jenis data sementara yang digunakan oleh layanan secara internal. float -> float int32 -> int int64 -> panjang |
Pemetaan berikut digunakan dari jenis data Google Ads ke jenis data sementara yang digunakan oleh layanan secara internal. float -> string int32 -> string int64 -> string |
Meningkatkan konektor Google AdWords ke konektor Google Ads
Tingkatkan layanan tertaut Google AdWords Anda ke layanan tertaut Google Ads terbaru dengan mengikuti langkah-langkah di bawah ini:
Pilih Direkomendasikan sebagai versi driver untuk membuat layanan tertaut Google Ads baru dan konfigurasikan dengan merujuk ke Properti layanan tertaut.
Perbarui alur Anda yang merujuk ke layanan tertaut Google AdWords warisan. Mengingat bahwa layanan tertaut Google Ads hanya mendukung penggunaan kueri untuk menyalin data, jadi:
Jika alur Anda langsung mengambil data dari laporan Google AdWords, temukan nama sumber daya Google Ads yang sesuai dalam tabel di bawah ini dan gunakan alat ini untuk membuat kueri.
Laporan Google AdWords Sumber daya Google Ads ACCOUNT_PERFORMANCE_REPORT pelanggan AD_PERFORMANCE_REPORT ad_group_ad ADGROUP_PERFORMANCE_REPORT ad_group AGE_RANGE_PERFORMANCE_REPORT age_range_view AUDIENCE_PERFORMANCE_REPORT campaign_audience_view,ad_group_audience_view AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT group_placement_view BID_GOAL_PERFORMANCE_REPORT bidding_strategy BUDGET_PERFORMANCE_REPORT campaign_budget CALL_METRICS_CALL_DETAILS_REPORT call_view CAMPAIGN_AD_SCHEDULE_TARGET_REPORT ad_schedule_view CAMPAIGN_CRITERIA_REPORT campaign_criterion CAMPAIGN_PERFORMANCE_REPORT kampanye CAMPAIGN_SHARED_SET_REPORT campaign_shared_set CAMPAIGN_LOCATION_TARGET_REPORT location_view CLICK_PERFORMANCE_REPORT click_view DISPLAY_KEYWORD_PERFORMANCE_REPORT display_keyword_view DISPLAY_TOPICS_PERFORMANCE_REPORT topic_view GENDER_PERFORMANCE_REPORT gender_view GEO_PERFORMANCE_REPORT geographic_view,user_location_view KEYWORDLESS_QUERY_REPORT dynamic_search_ads_search_term_view KEYWORDS_PERFORMANCE_REPORT keyword_view LABEL_REPORT label LANDING_PAGE_REPORT landing_page_view,expanded_landing_page_view PAID_ORGANIC_QUERY_REPORT paid_organic_search_term_view PARENTAL_STATUS_PERFORMANCE_REPORT parental_status_view PLACEHOLDER_FEED_ITEM_REPORT feed_item,feed_item_target PLACEHOLDER_REPORT feed_placeholder_view PLACEMENT_PERFORMANCE_REPORT managed_placement_view PRODUCT_PARTITION_REPORT product_group_view SEARCH_QUERY_PERFORMANCE_REPORT search_term_view SHARED_SET_CRITERIA_REPORT shared_criterion SHARED_SET_REPORT shared_set SHOPPING_PERFORMANCE_REPORT shopping_performance_view TOP_CONTENT_PERFORMANCE_REPORT Tidak lagi tersedia di Google Ads API. URL_PERFORMANCE_REPORT detail_placement_view USER_AD_DISTANCE_REPORT distance_view VIDEO_PERFORMANCE_REPORT video
Ketahuilah bahwa ada batasan tertentu dengan peningkatan ini:
- Tidak semua jenis laporan dari AWQL didukung di GAQL.
- Tidak semua kueri AWQL diterjemahkan dengan bersih ke kueri GAQL.
Konten terkait
Untuk daftar penyimpanan data yang didukung sebagai sumber dan sink oleh aktivitas salin, lihat penyimpanan data yang didukung.