ارسال دیتای کاربر و رخداد از طریق وردپرس
پلاگین متریکس این امکان را فراهم میکند که اطلاعات کاربران و رخدادهای موردنظر خود را مستقیماً از طریق وردپرس به متریکس ارسال کنید. این کار را میتوانید با استفاده از PHP یا JavaScript انجام دهید.
-
ارسال داده با استفاده از PHP:
1.در صورتی که میخواهید از سمت سرور داده ارسال کنید، کافی است متدهای مورد نیاز Metrix SDK را در محل مناسب از قالب یا افزونهی خود فراخوانی کنید.
در مثال زیر، با استفاده از هوک wp_footer کاربر فعلی دریافت و اطلاعات او به متریکس ارسال میشود:
// after website being loaded call send_user function
add_action( 'wp_footer', 'send_user' );
function send_user() {
$current_user = wp_get_current_user();
if ( $current_user->user_email ) {
Metrix_SDK::authorize_user( $current_user->user_email );
Metrix_SDK::set_email( $current_user->user_email );
}
}
یکی از روش های دیگر صدا زدن متد های sdk این است که آن را از قالب های وردپرس صدا بزنیم. برای این کار کافی است در فایل قالب متد صدا زده شود. مانند:
<?php Metrix_SDK::new_event("EVENT_SLUG", array( 'name' => "PAGE_NAME" )) ?>
در مثال بالا ابتدا یک رخداد داخل داشبورد ساخته شده و یک ویژگی با اسم name به آن اضافه شده. اسلاگ آن داخل متد new_event قرار داده شده و PAGE_NAME را به عنوان اسم آن صفحه ای که میخواهید ارسال کنید ست کنید (این مقدار میتواند داینامیک باشد تا برای هر صفحه یک اسم خاص گذاشته شود)
<?php
$attributes = array(
'page_name' => 'HomePage',
'user_type' => 'Guest',
);
Metrix_SDK::new_event_by_name('PAGE_VISIT', $attributes);
?>
در مثال بالا، ابتدا یک رخداد (Event) در داشبورد متریکس ایجاد شده و ویژگیای با نام name برای آن تعریف شده است. سپس با استفاده از متد new_event_by_name، این رخداد در قالب وردپرس فراخوانی میشود. در این متد، مقدار PAGE_NAME به عنوان نام صفحهای که میخواهید ثبت شود ارسال شده است. این مقدار میتواند داینامیک باشد تا برای هر صفحه مقدار متفاوتی (مثل نام صفحه، دستهبندی یا نوع محتوا) ارسال گردد.
- ارسال داده بعد از ثبت فرم (Form Submit)
به عنوان مثال می خواهید دیتای ثبت شده توسط فرم را برای متریکس به صورت رخداد ارسال کنید. برای این کار لازم است تا یک فرم تعریف کنید. بالای آن فرم یه کد php قرار دهید تا در صورتی که این فرم سابمیت شد، مقدار موجود در فرم را از طریق sdk برای ما ارسال کنید.
<?php
if ( isset( $_POST['search'] ) ) {
if ( isset( $_POST['search_value'] ) ) {
// ...
Metrix_SDK::new_event("YOUR_EVENT_SLUG", array( 'search' => $_POST['search_value'] ) );
}
}
?\>
<form method="post">
<input name="search_value">
<input type="submit" name="search" value="Search">
</form>
- با استفاده از Javascript
اگر نیاز دارید رخدادها از سمت کلاینت (Front-end) و بر اساس رفتار کاربر (مثل کلیک روی دکمه) ارسال شوند، میتوانید از متدهای SDK وب متریکس استفاده کنید. برای این کار نیازی به نصب جداگانه SDK نیست؛ تنها کافی است با استفاده از کد JavaScript، متد newEvent را صدا بزنید. برای جزئیات بیشتر، به مستندات مستندات sdk وب مراجعه کنید.
- انواع متد های ارسال داده های کاربران :
در زیر فهرست متدهای مربوط به ارسال اطلاعات کاربران آورده شده است:
Metrix_SDK::authorize_user( $user_id );
Metrix_SDK::set_first_name( $first_name );
Metrix_SDK::set_last_name( $last_name );
Metrix_SDK::set_email( $email );
Metrix_SDK::set_hashed_email( $hashed_email );
Metrix_SDK::set_phone_number( $phone_number );
Metrix_SDK::set_hashed_phone_number( $hashd_phone_number );
Metrix_SDK::set_country( $country );
Metrix_SDK::set_city( $city );
Metrix_SDK::set_region( $region );
Metrix_SDK::set_locality( $locality );
Metrix_SDK::set_gender( $birthday );
Metrix_SDK::set_custom_attribute( $key, $value );
Metrix_SDK::set_custom_user_id( $id );
ارسال رخدادها (Events):
ارسال ایونت با اسلاگ (Slug) برای ارسال رخداد، کافی است متد new_event را همراه با اسلاگ رخداد و ویژگیهای دلخواه فراخوانی کنید
$custom_attributes = array(
'manufacturer' => 'Nike',
'product_name' => 'Shirt',
); // attributes are optional
Metrix_SDK::new_event( $slug, $custom_attributes );
// if your event doesn't have any attribute only send slug like this
Metrix_SDK::new_event( $slug );
ارسال ایونت با نام (Name) برای ارسال رخداد، کافی است متد new_event را همراه با نام رخداد و ویژگیهای دلخواه فراخوانی کنید
<?php
$custom_attributes = array(
'manufacturer' => 'Nike',
'product_name' => 'Shirt',
); // attributes are optional
Metrix_SDK::new_event_by_name('PURCHASE_COMPLETED', $custom_attributes);
// if your event doesn't have any attribute only send name like this
Metrix_SDK::new_event_by_name('PURCHASE_COMPLETED', array());
?>
متریکس اطلاعات کاربران شما را ذخیره و مدیریت میکند. در صورت تمایل، میتوانید از طریق داشبورد متریکس برای کاربران خود کمپینهای پیامکی یا پوش نوتیفیکیشن اجرا کنید.