Проследяване на събития в онлайн магазин на Drupal в Yandex Metrica

И ако не би трябвало да има проблеми с настройването на първите два типа цели, тогава за да настроите, например, броене на броя кликвания на бутон, дори трябва да кодирате малко. Това може да бъде полезно предимно за онлайн магазини, но по принцип може да се приложи към всеки сайт.

Първо трябва да зададете цели в интерфейса на услугата Yandex Metrika; има подробна документация за настройка на събития.

онлайн

Нека ги разгледаме по-подробно, като използваме примера на бутоните за изпращане на формуляр на модула Webform, стандартните формуляри на Ubercart и Drupal Commerce.

За да използвате API на формуляра, трябва да извикате куката за замяна на формуляр във вашия модул:

За да манипулираме формуляра, трябва да знаем неговия идентификатор. Може да бъде намерен в кода на страницата, като потърсите ключовата дума form_id.

магазин

За Webform това ще бъде нещо като webform_client_form_3222.

За да разберем как да стигнем до бутона, от който се нуждаем, най-лесният начин е да покажем масива за изобразяване на цялата форма и да намерим в нея ключовете на елемента, с който е формиран. За да направите това, можете да използвате функцията за извеждане на съобщение:

магазин

Сега можем да добавим атрибут onclick с метрична функция:

Ще имате свой собствен номер на брояча и целевия идентификатор, който сте посочили, когато сте го създали.

Целият код:

Формуляри на Ubercart

В Ubercart всеки бутонbuy иadd to cart ​​​​има свой собствен уникален form_id, който се различава с число в края, например uc_product_add_to_cart_form_104 и за да ги проследите всичките наведнъж, кодът трябва да е така:

И за бутонакупи :

Код за многостранична форма за плащане:

Drupal Commerce Forms

Идентификаторите на формуляри за добавяне в количката в Drupal Commerce изглеждат по следния начин:commerce_cart_add_to_cart_form_278 , и също се различават по числото в края

Бутонът за плащане в количката (формата има идентификатор views_form_commerce_cart_form_default) отказа да приеме атрибута по неизвестни причини. Въпреки че кодът трябва да бъде нещо подобно:

Е, кодът за многостраничната форма за плащане:

От една страна, няма нищо сложно в това, но дори и с опит с Form API, ми отне известно време да намеря ключовете на масива, за да дефинирам бутоните. Затова реших да ги запиша, за да не го губя следващия път, но в същото време да го споделя с общността.