拒絕盲目行銷!資深工程師教你用 WordPress 打造「使用者行為偵測」自動標籤系統

2026/01/9 | CRM 應用, WP 開發技巧, 數位行銷策略

告別盲目行銷:WordPress 自動化使用者行為偵測與標籤系統實戰

在第三方 Cookie 即將退場的時代,僅依靠靜態的屬性資料(Demographics)已無法應對市場變化。資深工程師 Eric 分享如何運用 WordPress 的強大 Hook 與 REST API 機制,擺脫「亂槍打鳥」式行銷。本文深入硬核實作,教你如何利用程式碼追蹤使用者的閱讀興趣(計數器邏輯)與高意圖行為(如點擊價格頁),並自動貼上精準標籤。這套系統能讓您的 CRM 實現精準分眾、內容個人化,將數據轉化為高轉換率的黃金線索。別讓您的網站數據繼續沉睡!立即掌握這項企業級技術,打造狙擊手般的精準行銷系統,或聯繫我們,讓專業團隊為您量身打造!

需要專業協助?

聯絡浪花專案團隊 →

拒絕盲目行銷!資深工程師教你用 WordPress 打造「使用者行為偵測」自動標籤系統

嗨,我是 Eric,浪花科技的資深工程師。如果你還在把同一封電子報寄給所有會員,或者在後台看著一堆只有「姓名、Email」卻沒有任何行為記錄的會員資料發呆,那這篇文章就是為你寫的。

在 2025 年的今天,第三方 Cookie 即將退場,「第一方數據(First-Party Data)」已經不是選修課,而是必修課。身為工程師,我常看到客戶花大錢導流,結果使用者進來網站逛了一圈,我們卻不知道他對什麼感興趣。他看了十篇關於「WooCommerce」的文章,結果你卻寄給他「部落格架設教學」的促銷信?這就是為什麼你的轉換率上不去。

今天我不談空泛的行銷理論,我們要來點「硬核」的實作。我會教你如何利用 WordPress 的 Hook 機制與簡單的程式碼,偵測使用者的瀏覽行為、點擊動作,並自動幫會員「貼上標籤」。有了這些標籤,你的 CRM 才能真正發揮作用。

為什麼你需要「行為標籤」而非僅僅是「屬性資料」?

傳統的 CRM 資料大多是靜態的「屬性」,例如:性別、年齡、居住地。但這些資料無法告訴你使用者「現在」想要什麼。

  • 屬性資料 (Demographics): 他是 30 歲的男性,住在台北。(這只能告訴你他是誰)
  • 行為資料 (Behavioral Data): 他在過去三天內看了 5 篇關於「Laravel 開發」的文章,並且在「高階課程」的價格頁面停留了 3 分鐘。(這告訴你他想買什麼

透過自動化標籤,我們可以達成以下目標:

  1. 精準分眾: 只對「對該主題有興趣」的人發送相關內容。
  2. 動態內容展示: 根據使用者身上的標籤,首頁 Banner 自動切換成他感興趣的產品。
  3. 流失預警: 如果一個高活躍標籤的使用者突然 30 天沒上線,自動觸發挽回機制。

技術實作一:追蹤閱讀興趣(Category Tagging)

最簡單也最有效的行為追蹤,就是看使用者「讀了什麼」。我們可以利用 WordPress 的 template_redirectwp_head Hook,在使用者瀏覽文章時,抓取該文章的分類,並將其記錄到使用者的 Meta Data 中。

這裡有一個簡單的實作邏輯:當登入使用者瀏覽文章時,我們檢查文章分類,並將分類名稱作為標籤存入 user_meta。為了避免資料庫膨脹,我們可以設定一個閾值(例如:瀏覽同分類超過 3 次才貼標籤)。

程式碼範例:自動依據文章分類貼標

請將以下程式碼加入你的子佈景主題的 functions.php 或自製外掛中:


function eric_auto_tag_user_interest() {
    // 只針對已登入使用者且在單篇文章頁面執行
    if ( is_user_logged_in() && is_single() ) {
        global $post;
        $user_id = get_current_user_id();
        
        // 取得文章分類
        $categories = get_the_category( $post->ID );
        
        if ( ! empty( $categories ) ) {
            foreach ( $categories as $category ) {
                $tag_slug = 'interest_' . $category->slug;
                
                // 取得目前的計數
                $current_count = (int) get_user_meta( $user_id, 'view_count_' . $category->slug, true );
                $new_count = $current_count + 1;
                
                // 更新計數
                update_user_meta( $user_id, 'view_count_' . $category->slug, $new_count );
                
                // 邏輯判斷:如果瀏覽超過 3 次,則正式貼上標籤
                if ( $new_count >= 3 ) {
                    // 這裡可以串接你的 CRM API,或者先存本地
                    $current_tags = get_user_meta( $user_id, 'roamer_behavior_tags', true );
                    if ( ! is_array( $current_tags ) ) {
                        $current_tags = array();
                    }
                    
                    if ( ! in_array( $category->name, $current_tags ) ) {
                        $current_tags[] = $category->name;
                        update_user_meta( $user_id, 'roamer_behavior_tags', $current_tags );
                        
                        // Optional: 觸發一個 Action 讓其他外掛(如 CRM)可以接手
                        do_action( 'roamer_user_tagged', $user_id, $category->name );
                    }
                }
            }
        }
    }
}
add_action( 'template_redirect', 'eric_auto_tag_user_interest' );

這段程式碼雖然簡單,但威力強大。它建立了一個「計數器」,只有當使用者展現出足夠的興趣(瀏覽 3 次)時,我們才認定這是他的興趣,避免雜訊。

技術實作二:追蹤高意圖行為(Pricing Page & Click)

除了看文章,使用者的「關鍵動作」更值錢。例如:查看價格頁面、點擊「聯絡我們」按鈕、或是下載白皮書。這些動作代表他們處於行銷漏斗的底部(Bottom of Funnel)。

對於這種互動,我們需要用 JavaScript (AJAX) 配合後端 API 來處理。

1. 前端監聽腳本

在你的頁面中加入這段 JS,監聽特定按鈕的點擊:


jQuery(document).ready(function($) {
    $('.btn-pricing-plan').on('click', function(e) {
        // 這裡可以繼續執行預設動作,我們只是要「偷傳」訊號
        
        $.ajax({
            url: '/wp-json/roamer/v1/track-event',
            method: 'POST',
            beforeSend: function(xhr) {
                xhr.setRequestHeader('X-WP-Nonce', roamer_vars.nonce);
            },
            data: {
                event: 'click_pricing',
                details: 'pro_plan'
            }
        });
    });
});

2. 後端 REST API 接收端點

接下來,我們要建立一個自訂的 REST API 端點來接收這個訊號,並幫使用者貼上「高潛力客戶」的標籤。


add_action( 'rest_api_init', function () {
    register_rest_route( 'roamer/v1', '/track-event', array(
        'methods' => 'POST',
        'callback' => 'eric_handle_track_event',
        'permission_callback' => function () {
            return is_user_logged_in(); // 確保只有登入者被追蹤
        }
    ));
});

function eric_handle_track_event( $request ) {
    $user_id = get_current_user_id();
    $params = $request->get_params();
    $event = sanitize_text_field( $params['event'] );
    
    if ( $event === 'click_pricing' ) {
        // 貼上「潛在購買者」標籤
        add_user_meta( $user_id, 'roamer_behavior_tags', 'High_Intent_Pricing' );
        
        // 這裡甚至可以透過 API 直接通知業務團隊
        // roamer_notify_sales_team( $user_id );
    }
    
    return new WP_REST_Response( array( 'success' => true ), 200 );
}

進階策略:資料要「流動」才有價值

把標籤貼在 WordPress 的 usermeta 裡只是第一步。如果你只是把它存在資料庫長灰塵,那一點意義都沒有。身為資深工程師,我強烈建議你要將這些數據「流動」到你的行銷自動化工具中。

你可以透過以下方式延伸應用:

  • 串接 FluentCRM / MailPoet: 這些 WordPress 原生 CRM 外掛可以直接讀取 User Meta,讓你設定自動化郵件流程(例如:當標籤變成「High_Intent_Pricing」時,寄送 9 折優惠券)。
  • Webhook 傳送至外部系統: 利用 do_action 觸發 Webhook,將標籤同步到 HubSpot、Salesforce 或 ActiveCampaign。
  • 前端個人化 (Personalization): 使用者下次登入時,根據他的 interest_category 標籤,把首頁的「最新消息」區塊換成他感興趣的分類文章。

工程師的小囉嗦:效能與隱私

在實作這類功能時,有兩點我必須提醒你:

  1. 資料庫效能: 不要把所有雞毛蒜皮的小動作都寫入資料庫。wp_usermeta 表如果無限膨脹,會拖慢整個網站的查詢速度。請善用「計數器」邏輯(如上述範例),或者定期清理過期標籤。
  2. 隱私權政策 (GDPR/個資法): 這種追蹤行為屬於個資收集範疇。請務必在隱私權政策中說明你會收集使用者的瀏覽行為以優化服務,並提供使用者「選擇退出 (Opt-out)」的權利。

總結

「自動化標籤」是從「亂槍打鳥」進化到「狙擊手」行銷的關鍵技術。透過 WordPress 強大的 Hook 與 REST API 系統,我們可以低成本地搭建出一套企業級的行為追蹤系統。

記住,技術只是工具,重點是你如何運用這些數據來服務你的客戶。不要為了收集而收集,要為了「提供更好的體驗」而收集。

推薦閱讀

想進一步了解如何將收集到的數據進行自動化應用,建議你參考以下文章,將技術串連起來:

想為您的企業打造專屬的自動化標籤與行銷系統?

別讓數據白白流失,立即聯繫浪花科技,讓我們資深的技術團隊為您量身規劃。

填寫表單聯繫我們

常見問題 (FAQ)

Q1: 這種追蹤方式會拖慢網站速度嗎?

如果實作得當,影響微乎其微。我們建議使用 `update_user_meta` 這種輕量級的操作,並避免在每個頁面載入時進行複雜的資料庫查詢。如果是高流量網站,建議將寫入動作放入排程 (Cron Job) 或使用 Redis 緩存計數器,最後再寫入資料庫。

Q2: 我可以追蹤未登入的使用者嗎?

可以,但比較複雜。對於未登入訪客,通常會使用 Cookie 或 LocalStorage 來記錄臨時 ID 與行為。等到使用者註冊或登入的那一刻,再透過程式碼將 Cookie 中的歷史行為數據「合併」到該會員的 User Meta 中。

Q3: 這些標籤可以直接同步到 Mailchimp 或 HubSpot 嗎?

WordPress 原生不支援直接同步,但你可以透過安裝整合外掛(如 WP Fusion),或是如文章中提到的,開發自訂功能透過 API / Webhook 將資料即時推送到外部 CRM 系統。

 
立即諮詢,索取免費1年網站保固