將 Klaviyo 資料載入 BigQuery

如要安排從 Klaviyo 到 BigQuery 的週期性資料移轉作業,請建立移轉設定,指定要移轉的資料物件,以及資料移轉作業的排程頻率。您可以使用 Google Cloud 控制台或bq指令列工具建立移轉設定。設定移轉設定後,BigQuery 資料移轉服務會按照指定的時間表,將最新資料移轉至 BigQuery 資料表。

如要瞭解 Klaviyo 移轉作業的運作方式,請參閱「Klaviyo 資料移轉簡介」。

限制

Klaviyo 增量移轉作業有下列限制:

  • 最多只能選擇 TIMESTAMP 個資料欄做為浮水印欄。
  • 只有具備有效浮水印資料欄的資產,才支援增量擷取。
  • 基準欄中的值必須單調遞增。
  • 增量移轉作業無法同步處理來源資料表中的刪除作業。
  • 單一移轉設定只能支援增量或完整擷取。
  • 首次執行增量擷取後,您就無法更新 asset 清單中的物件。
  • 首次執行增量擷取後,您就無法變更移轉設定中的寫入模式。
  • 首次執行增量擷取後,就無法變更基準值資料欄或主鍵。
  • 目的地 BigQuery 資料表會使用提供的主鍵進行分群,並受分群資料表限制規範。
  • 首次將現有移轉設定更新為增量擷取模式時,更新後的第一次資料移轉會從資料來源移轉所有可用資料。後續的任何增量資料移轉作業,都只會從資料來源移轉新的和更新的資料列。

事前準備

以下各節說明建立 Klaviyo 資料移轉作業前,必須完成的前置作業。

Klaviyo 需求條件

您必須具備唯讀私密 API 金鑰,Klaviyo 連接器才能將資料移轉至 BigQuery。詳情請參閱「建立私密金鑰」。

BigQuery 事前準備

必要的 BigQuery 角色

如要取得建立 BigQuery 資料移轉服務資料移轉作業所需的權限,請要求管理員授予您專案的 BigQuery 管理員 (roles/bigquery.admin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備建立 BigQuery 資料移轉服務資料移轉作業所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

您必須具備下列權限,才能建立 BigQuery 資料移轉服務資料移轉作業:

  • BigQuery 資料移轉服務權限:
    • bigquery.transfers.update
    • bigquery.transfers.get
  • BigQuery 權限:
    • bigquery.datasets.get
    • bigquery.datasets.getIamPolicy
    • bigquery.datasets.update
    • bigquery.datasets.setIamPolicy
    • bigquery.jobs.create

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

詳情請參閱「授予 bigquery.admin 存取權」。

如要設定 Pub/Sub 的移轉作業執行通知,請確認您具備 pubsub.topics.setIamPolicy IAM 權限。如果只設定電子郵件通知,則不需要 Pub/Sub 權限。詳情請參閱「BigQuery 資料移轉服務執行通知」。

設定 Klaviyo 資料移轉作業

如要將 Klaviyo 資料新增至 BigQuery,請使用下列任一選項設定移轉設定:

控制台

  1. 前往 Google Cloud 控制台的「資料移轉」頁面。

    前往「資料移轉」

  2. 按一下「 建立移轉作業」。

  3. 在「Source type」(來源類型) 部分,「Source」(來源) 請選取「Klaviyo - Preview」。

  4. 在「Data source details」(資料來源詳細資料) 部分執行下列操作:

    • 在「Private API Key」部分,輸入私人 API 金鑰。詳情請參閱「Klaviyo 必要條件」。
    • 選用:在「Start Date」(開始日期) 部分,指定要納入資料移轉作業的新記錄開始日期。只有在這個日期當天或之後建立的記錄,才會納入資料移轉作業。預設值為轉移作業執行日期前 3 個月。
    • 在「Klaviyo objects to transfer」(要移轉的 Klaviyo 物件) 部分點選「Browse」(瀏覽),選取要移轉至 BigQuery 目的地資料集的物件。您也可以在這個欄位手動輸入要移轉資料的物件。
  5. 在「Destination settings」(目的地設定) 部分,「Dataset」(資料集) 請選取您為了儲存資料而建立的資料集。

  6. 在「Transfer config name」(轉移設定名稱) 部分,「Display name」(顯示名稱) 請輸入資料移轉作業名稱。

  7. 在「Schedule options」(排程選項) 專區:

    • 在「Repeat frequency」(重複執行頻率) 清單中,選取選項,指定這項資料移轉作業的執行頻率。如要指定自訂重複頻率,請選取「Custom」(自訂)。如果選取「On-demand」(隨選),這項移轉作業會在您手動觸發後執行。
    • 視情況選取「Start now」(立即開始) 或「Start at set time」(在所設時間開始執行),並提供開始日期和執行時間。
  8. 選用:在「Notification options」(通知選項) 專區,執行下列操作:

    • 如要啟用電子郵件通知,請點選「Email notification」(電子郵件通知) 切換按鈕。啟用這個選項之後,若移轉失敗,移轉作業管理員就會收到電子郵件通知。
    • 如要針對這項移轉作業啟用 Pub/Sub 移轉作業執行通知,請點選「Pub/Sub notifications」(Pub/Sub 通知) 切換按鈕。您可以選取主題名稱,也可以點選「Create a topic」(建立主題) 來建立主題。
  9. 按一下 [儲存]。

bq

輸入 bq mk 指令,並提供移轉作業建立旗標 --transfer_config:

bq mk
    --transfer_config
    --project_id=PROJECT_ID
    --data_source=DATA_SOURCE
    --display_name=NAME
    --target_dataset=DATASET
    --params='PARAMETERS'

更改下列內容:

  • PROJECT_ID (選用):您的 Google Cloud 專案 ID。 如未提供 --project_id 來指定特定專案,系統會使用預設專案。
  • DATA_SOURCE:資料來源 - klaviyo。
  • NAME:資料移轉設定的顯示名稱。移轉作業名稱可以是任意值,日後需要修改移轉作業時,能夠據此識別即可。
  • DATASET:移轉設定的目標資料集。
  • PARAMETERS:JSON 格式的已建立移轉設定參數。例如:--params='{"param":"param_value"}'。Klaviyo 資料移轉作業的參數如下:

    • assets:要移轉至 BigQuery 的 Klaviyo 物件路徑。
    • connector.authentication.privateApiKey:Klaviyo 帳戶的私人 API 金鑰。
    • connector.startDate:(選用) 新記錄的開始日期,格式為 YYYY-MM-DD,會納入資料移轉作業。只有在這個日期當天或之後建立的記錄,才會納入資料移轉作業。預設值為移轉作業執行日期前 3 個月。
    • ingestionType:(選用) 指定資料載入方法。允許的值為 full (取代目的地資料表中的所有資料) 或 incremental (僅載入上次移轉後新增或修改的資料)。
    • writeMode:(選用) 當 ingestionType 設為 incremental 時,指定資料寫入目的地資料表的方式。允許的值為 WRITE_MODE_APPEND (附加新記錄) 或 WRITE_MODE_UPSERT (更新現有記錄並插入新記錄)。

下列指令會在預設專案中建立 Klaviyo 資料移轉作業。

    bq mk
        --transfer_config
        --target_dataset=mydataset
        --data_source=klaviyo
        --display_name='My Transfer'
        --params= ' {
            "assets": [ "Events" , "Flows"] ,
            "connector.authentication.privateApiKey" : "pk_123456789123",
            "connector.startDate": "2025-10-20"
            }'
儲存移轉設定後,Klaviyo 連接器會根據您的排程選項,自動觸發移轉作業。每次執行移轉作業時,Klaviyo 連接器都會將 Klaviyo 中的所有可用資料移轉至 BigQuery。

如要在排定的時間以外手動執行資料移轉作業,可以啟動補充執行作業。

如要查看 Klaviyo 資料移轉作業包含的資料清單,請參閱「Klaviyo 資料模型參考資料」。

排解轉移設定問題

如果無法順利設定資料移轉作業,請參閱「Klaviyo 移轉問題」一文。

後續步驟