概要
woocommerce_tracks_event_properties
は、WooCommerceのトラッキングイベントに関するプロパティをカスタマイズするためのフィルターフックです。このフィルターは、ユーザーの行動を追跡する際に収集されるデータを変更または追加することができます。以下のような機能を実装する際に利用されることが一般的です。
- 特定のユーザーアクションに関する追加データのトラッキング
- アナリティクスツールへの統合
- ユーザー行動に基づくマーケティング戦略の改善
- トラッキングイベントのカスタマイズ
- 開発者によるデバッグ情報の追加
- サイト上のコンバージョン率の向上
構文
add_filter( 'woocommerce_tracks_event_properties', 'my_custom_event_properties', 10, 2 );
パラメータ
$properties
(array): トラッキングイベントのプロパティ。$event
(string): トラッキングするイベント名。
戻り値
- (array): 修正されたプロパティ配列。
このフィルタを使用可能なプラグインWooCommerceのバージョン
- WooCommerce 4.0 以降
ワードプレスのバージョン
- WordPress 5.0 以降
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプルコード1: 特定のユーザーIDに基づくプロパティの追加
add_filter( 'woocommerce_tracks_event_properties', 'add_user_id_to_event_properties', 10, 2 );
function add_user_id_to_event_properties( $properties, $event ) {
if ( 'purchase' === $event ) {
$properties['user_id'] = get_current_user_id();
}
return $properties;
}
このサンプルコードは、購入イベントにユーザーIDを追加することで、トラッキングデータを強化します。
サンプルコード2: カスタムプロパティの追加
add_filter( 'woocommerce_tracks_event_properties', 'add_custom_property', 10, 2 );
function add_custom_property( $properties, $event ) {
if ( 'add_to_cart' === $event ) {
$properties['custom_property'] = 'example_value';
}
return $properties;
}
このコードは、カートに商品を追加した際にカスタムプロパティを追加します。
サンプルコード3: イベントに基づくプロパティの条件付き変更
add_filter( 'woocommerce_tracks_event_properties', 'conditional_properties_change', 10, 2 );
function conditional_properties_change( $properties, $event ) {
if ( 'view_product' === $event && is_product() ) {
$properties['viewed_product'] = get_the_ID();
}
return $properties;
}
このサンプルは、商品ビューイベントの際に、現在表示している商品のIDを追加します。
サンプルコード4: 商品カテゴリに基づくフィルタリング
add_filter( 'woocommerce_tracks_event_properties', 'filter_based_on_product_category', 10, 2 );
function filter_based_on_product_category( $properties, $event ) {
if ( 'purchase' === $event ) {
$categories = get_the_terms( get_current_product_id(), 'product_cat' );
$properties['product_categories'] = wp_list_pluck( $categories, 'name' );
}
return $properties;
}
このコードは、購入イベントの際に商品のカテゴリ名をトラッキングプロパティとして追加します。
サンプルコード5: フロントエンドユーザーエージェントの取得
add_filter( 'woocommerce_tracks_event_properties', 'add_user_agent_to_event', 10, 2 );
function add_user_agent_to_event( $properties, $event ) {
$properties['user_agent'] = $_SERVER['HTTP_USER_AGENT'];
return $properties;
}
このサンプルは、全てのイベントにフロントエンドのユーザーエージェント情報を追加します。