Marketo Webhook 與 Drupal 的集成:將潛在客戶數據從 Marketo 實時同步到 Drupal

已發表: 2022-08-09

當全國廣告商協會 (ANA) 將“個性化”命名為“年度營銷詞”時,您可能會覺得這是一種將繼續存在的策略。 個性化內容為客戶體驗增添了人情味,這在他們的整個旅程中都是無價的。 統計數據證明了這一點,表明 90% 的消費者認為個性化內容更有吸引力,但如果不是,則會感到惱火。

營銷自動化軟件巨頭 Marketo 幫助 B2B 和 B2C 組織吸引和培養潛在的潛在客戶,同時使營銷人員能夠圍繞他們創建個性化的營銷活動。

將 Marketo 的強大功能與 Drupal 等內容管理系統相結合,是向客戶呈現完全無縫數字體驗的最佳方式之一。

使用 Drupal - Marketo 集成模塊(如 Marketo MA),您可以自動化潛在客戶捕獲、跟踪、培育、個性化、分析等。 現在,您的 Drupal 網站還連接到不同的第三方服務,這些服務通常需要來自 Marketo 的更新的潛在客戶數據。 輸入,網絡鉤子。 在我們最近的一個項目中,我們使用 Webhooks 從 Marketo 獲取實時數據,以便在客戶登錄時對內容更加個性化。閱讀更多信息以了解 Drupal - Marketo 集成以及如何配置Webhook 將 Marketo 數據與 Drupal 實時同步。

在 Drupal 中設置 Marketo

市場

在繼續設置 Drupal - Marketo 集成之前,請注意此過程假定您已經設置了 Marketo 帳戶並且您知道該平台的工作原理。

安裝 Marketo MA Drupal 模塊

在您的 Drupal 管理員設置中,讓我們繼續從此處安裝 Marketo MA 模塊。 接下來,轉到擴展並啟用以下模塊(如下面的屏幕截圖所示):

  • Marketo MA 用戶
  • Marketo MA 網絡表格
  • 市場碩士
安裝

API 配置

現在,讓我們通過輸入 Marketo 帳戶 ID 和其他潛在客戶捕獲詳細信息來激活您的 Marketo 集成。 在這裡,我們將使用 REST API 方法而不是 Munchkin JavaScript API 來跟踪潛在客戶數據。 因此,繼續輸入 REST API 配置設置,例如Client IDClient Secret

MA 配置

字段定義

您可以在此處配置用戶和 Web 表單字段並將其映射到您的 Marketo 帳戶中定義的字段(如下面的屏幕截圖所示)。

字段定義

用戶設置

在此部分中,您可以啟用觸發器以在用戶登錄、註冊/創建和更新用戶配置文件等事件期間更新 Marketo 中的潛在客戶。 您還可以選擇應該觸發更新的用戶字段並將其映射到 Marketo 字段。

用戶設置

添加 Web 表單處理程序

現在選擇 Marketo MA 網絡表單處理程序,以確保通過網絡表單捕獲潛在客戶並將其發送到 Marketo。

處理程序

現在,此設置將允許您在 Drupal 站點上添加潛在客戶捕獲、跟踪和培育功能。 您現在可以將潛在客戶從 Drupal 發送到您的 Marketo 平台。

如何配置 Webhook 以獲取從 Marketo 到 Drupal 的更新的潛在客戶數據

您的潛在客戶可以來自不同的來源。 您的一些潛在客戶通過您網站的網絡表單進入,而其他潛在客戶可能通過不同的營銷渠道直接輸入 Marketo 的儀表板。

有時,從您的 Drupal 站點捕獲和發送的用戶數據可能會在 Marketo 儀表板上更新。 當您需要來自 Marketo 的實時更新數據來為該用戶個性化 Drupal 內容時會發生什麼?

用例

最近,我們客戶的 Drupal 網站要求我們為他們的內容個性化需求創建一個 Webhook。 他們有一個單點登錄系統,用戶可以在其中登錄一次,並可以訪問多個站點區域,例如活動、會員登錄和購物。 現在登錄後,Drupal 網站上的內容會根據人口統計、工作級別等內容細分進行個性化。這需要我們的 Drupal 網站具有與他們的 Marketo 系統實時同步的更新用戶數據。

一種不太可行的解決方案是在用戶登錄時進行 API 調用以從 Marketo 獲取潛在客戶數據。 但是,這種方法不僅會減慢流程,而且還會因為 API 請求收費而變得更加昂貴。

解決方案 - Webhook

Webhook 基本上是由特定事件觸發的 API 請求。 Marketo 允許您註冊 webhook 以連接到不同的第三方應用程序。 對於這個用例,我們配置了一個 webhook 來從 Marketo 獲取實時數據到 Drupal 網站。 讓我們深入了解為 Drupal Marketo 集成實施 webhook 所採取的步驟。

第 1 步:創建自定義模塊並為 API 定義路由

首先,您需要在 Drupal 設置中啟用 HTTP 基本身份驗證模塊。

marketo_webhook.routing.yml

 marketo_webhook.webhook: path: '/webhooks/marketo' options: _auth: [ 'basic_auth' ] requirements: _user_is_logged_in: 'TRUE' defaults: _controller: '\Drupal\marketo_webhook\Controller\MarketoWebhookController::getMarketoLeads' methods: [POST]

第 2 步:為 API 創建一個控制器並將數據存儲在自定義字段中

<?php namespace Drupal\marketo_webhook\Controller; use Drupal\Core\Controller\ControllerBase; use Drupal\Core\Entity\EntityTypeManagerInterface; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; /** * Controller for Marketo Webhook. */ class MarketoWebhookController extends ControllerBase { /** * The entity type manager. * * @var \Drupal\Core\Entity\EntityTypeManagerInterface; */ protected $entityTypeManager; public function __construct(EntityTypeManagerInterface $entityTypeManager) { $this->entityTypeManager = $entityTypeManager; } /** * {@inheritdoc} */ public static function create(ContainerInterface $container) { return new static( $container->get('entity_type.manager') ); } /** * Update user marketo fields. */ public function getMarketoLeads(Request $request) { $payload = json_decode($request->getContent(), TRUE); $payload_log = implode(',', $payload); \Drupal::logger('marketo_webhook')->notice($payload_log); if($payload){ if($payload['mail']){ $users = $this->entityTypeManager->getStorage('user') ->loadByProperties(['mail' => $payload['mail']]); $user = reset($users); if ($user) { if($payload['field_job_function'] != 'NA'){ $user->set('field_job_function',$payload['field_job_function']); } $user->save(); return JsonResponse::create('Success', 200); } } } return JsonResponse::create('Success', 400); } }

第 3 步:創建 Webhook 和 Marketo 集成

但首先,您需要註冊 Webhook。 要在 Marketo 上註冊 Webhook,我們首先跳到 Marketo 儀表板,然後單擊Admin >> Integration菜單下的Webhooks選項(如下面的屏幕截圖所示)。

網絡掛鉤

接下來,創建一個新 Webhook ,它將打開一個對話框,您可以在其中輸入 Webhook 名稱、描述、URL、請求類型、模板等詳細信息。

新的網絡鉤子

為 Webhook 命名並提供易於理解的描述。 輸入 URL 以提交 Web 服務請求。

例如,這裡:
https://www.specbee.com/webhooks/marketo是我們 webhook 的 API 端點
為基本身份驗證添加 Drupal 用戶名和密碼,如下所述:
https://用戶名:[電子郵件保護]/webhooks/marketo

單擊模板旁邊的插入令牌按鈕以添加要隨請求一起傳遞的 Marketo 對象的字段。
例如:“field_job_function”:“{{lead.Job Function:default=NA}}”。 將默認值設置為您選擇的任何鍵。 'NA' 在我們的例子中。 如果沒有數據,這將返回 NA。

姓名

第 4 步:創建智能廣告系列

要創建 Webhook Marketo 集成,您現在需要設置一個Smart Campaign 。 您可以在 Marketo 中定義自己的智能營銷活動,這些營銷活動將運行 Marketo 程序,例如調用 Webhook、在特定事件後發送電子郵件等。智能營銷活動配置包含三個部分:智能列表、流程和計劃。 您需要將觸發器添加到智能列表下的 Webhook。

  • 營銷活動下和您的計劃中,創建一個新的智能廣告系列。
  • 為智能廣告系列命名和描述。 在這裡,我們將其稱為Drupal 集成
  • 在智能列表下,您將找到所有可用的觸發器。 將您需要的觸發器拖放到智能列表中。 在這裡,我們選擇了Person is Created觸發器,但這只會在創建新潛在客戶時觸發。 為了解決這個問題,讓我們繼續為數據值更改添加另一個觸發器,以便在潛在客戶數據有更新時觸發它。
  • 我們選擇了Person下的Job FunctionJob Level屬性來觸發 webhook(如下面的屏幕截圖所示)。
人

  • 現在,是時候調用 Webhook 了。 單擊 Flow 並在右側窗格中選擇 Call Webhook 流操作並將其拖到 Flow 中。 選擇您創建的 Webhook 的名稱。
調用網絡鉤子

  • 現在您已經創建了調用 Webhook 的活動,讓我們安排它。
日程

  • 智能廣告系列設置中,單擊編輯按鈕以設置您希望廣告系列運行的頻率。 對於我們的用例,我們選擇了“每次”,因為我們希望每次更新線索數據時都會啟動 webhook。 保存該設置並單擊激活。
資格規則

第5步:測試一下!

您的廣告系列現已準備好進行測試。 您將能夠在智能營銷活動的結果選項卡下查看所有活動,即對 Webhook 的調用次數和其他詳細信息。

因此,理想情況下,當您創建新潛在客戶(人員)或更新現有潛在客戶的工作級別或工作職能字段時,它應該調用 Webhook 並在您的 Drupal 網站數據庫中更新潛在客戶。

如果沒有 Prashanth 的幫助,這篇文章是不可能完成的! 謝謝!

最後的想法

像 Marketo 這樣的營銷自動化平台可以成為任何組織營銷策略的寶貴補充,以幫助吸引、培養和最終轉化潛在客戶。 使用 Drupal 作為內容管理系統簡化了這些活動。 在本文中,除了向您展示如何將 Marketo 與 Drupal 集成外,我們還介紹瞭如何配置 Webhook,以便您將更新的潛在客戶數據從 Marketo 獲取到 Drupal。 需要幫助定制 Drupal 與 Marketo 或任何其他第三方應用程序的集成? 我們很樂意提供幫助!