PageSourceSearch

https://a-markets.org/wp-content/plugins/amarkets-common/js/gtm_ev…/gtm_events_tracking.js?ver=403.115

js a-markets.org collected 2026-10-07 16:38:59 UTC 38,535 bytes, 827 lines download raw bytes

1// Глобальная функция отправки событий в GTM.
2window.send_gtm_event = function (params = {}) {
3    if (typeof params !== 'object') return;
4
5    const gtm_params = {
6        event: 'ga_event',
7        eventCategory: 'web',
8        ...params,
9    };
10
11    window.dataLayer = window.dataLayer || [];
12    window.dataLayer.push(gtm_params);
13};
14
15// Конфигурация событий (единая точка настройки).
16const gtm_config = {
17    // Демо пример использования отслеживания кликов по элементам меню.
18    // 'amacom-header-menu-logo': {
19    //     trigger: 'click',
20    //     params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'header' }
21    // },
22    // 'amacom-header-menu-web-trader': {
23    //     trigger: 'click',
24    //     params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'header' },
25    //     text_to: 'value' // записать текст ссылки в поле "value".
26    // },
27    // 'amacom-header-menu-languages': {
28    //     trigger: 'click',
29    //     params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'header' },
30    //     attrs: {
31    //         'lang': 'value' // записать атрибут lang в поле "value".
32    //     }
33    // },
34    // Регистрация - пример использования отслеживания фокуса на поле.
35    // 'web-registration-focus-step1': {
36    //     trigger: 'focus',
37    //     params: { eventCategory1: 'registration', eventAction: 'focus', eventLabel: 'step1' }
38    // }
39
40
41    // START api_form_open_account
42    // user
43    'web-registration-close-country-list': {
44        trigger: 'click',
45        params: { eventCategory1: 'registration', eventAction: 'close', eventLabel: 'country-list' },
46        attrs: { 'data-registration-type-name': 'eventLabel2' }
47    },
48    'web-registration-confirm-country': {
49        trigger: 'click',
50        params: { eventCategory1: 'registration', eventAction: 'confirm', eventLabel: 'country' },
51        attrs: { 'data-value': 'value', 'data-registration-type-name': 'eventLabel2' }
52    },
53    'web-registration-focus-step1': {
54        trigger: 'focus',
55        params: { eventCategory1: 'registration', eventAction: 'focus', eventLabel: 'step1' },
56        attrs: { 'data-registration-type-name': 'eventLabel2' }
57    },
58    'web-registration-focus-step2': {
59        trigger: 'focus',
60        params: { eventCategory1: 'registration', eventAction: 'focus', eventLabel: 'step2' },
61        attrs: { 'data-registration-type-name': 'eventLabel2' }
62    },
63    'web-registration-focus-step3': {
64        trigger: 'focus',
65        params: { eventCategory1: 'registration', eventAction: 'focus', eventLabel: 'step3' },
66        attrs: { 'data-registration-type-name': 'eventLabel2' }
67    },
68    'web-registration-focus-step4-2': {
69        trigger: 'focus',
70        params: { eventCategory1: 'registration', eventAction: 'focus', eventLabel: 'step4-2' },
71        attrs: { 'data-registration-type-name': 'eventLabel2' }
72    },
73    'web-registration-click-step6-1': {
74        trigger: 'click',
75        params: { eventCategory1: 'registration', eventAction: 'click', eventLabel: 'step6-1' },
76        attrs: { 'data-registration-type-name': 'eventLabel2' }
77    },
78    'web-registration-focus-step6-2': {
79        trigger: 'focus',
80        params: { eventCategory1: 'registration', eventAction: 'focus', eventLabel: 'step6-2' },
81        attrs: { 'data-registration-type-name': 'eventLabel2' }
82    },
83    'web-registration-click-step7': {
84        trigger: 'change',
85        params: { eventCategory1: 'registration', eventAction: 'click', eventLabel: 'step7' },
86        attrs: { 'data-value': 'eventLabel1', 'data-registration-type-name': 'eventLabel2' }
87    },
88    'web-registration-click-send-form': {
89        trigger: 'click',
90        params: { eventCategory1: 'registration', eventAction: 'click', eventLabel: 'send-form' },
91        attrs: { 'data-registration-type-name': 'eventLabel2' }
92    },
93    'web-registration-focus-step-1-email': {
94        trigger: 'focus',
95        params: { eventCategory1: 'registration', eventAction: 'focus', eventLabel: 'step-1-email' },
96        attrs: { 'data-registration-type-name': 'eventLabel2' }
97    },
98    'web-registration-click-step-2-1-promo-code': {
99        trigger: 'click',
100        params: { eventCategory1: 'registration', eventAction: 'click', eventLabel: 'step-2-1-promo-code' },
101        attrs: { 'data-registration-type-name': 'eventLabel2' }
102    },
103    'web-registration-focus-step-2-2-promo-code': {
104        trigger: 'focus',
105        params: { eventCategory1: 'registration', eventAction: 'focus', eventLabel: 'step-2-2-promo-code' },
106        attrs: { 'data-registration-type-name': 'eventLabel2' }
107    },
108    'web-registration-click-google': {
109        trigger: 'click',
110        params: { eventCategory1: 'registration', eventAction: 'click', eventLabel: 'google', eventLabel2: 'social_identity' },
111    },
112    'web-registration-click-tab': {
113        trigger: 'click',
114        params: { eventCategory1: 'registration', eventAction: 'click', eventLabel: 'tab' },
115        attrs: { 'data-tab-type': 'eventLabel1' }
116    },
117    // partner
118    'web-affiliate-program-close-country-list': {
119        trigger: 'click',
120        params: { eventCategory1: 'affiliate-program', eventAction: 'close', eventLabel: 'country-list' }
121    },
122    'web-affiliate-program-confirm-country': {
123        trigger: 'click',
124        params: { eventCategory1: 'affiliate-program', eventAction: 'confirm', eventLabel: 'country' },
125        attrs: { 'data-value': 'value' }
126    },
127    'web-registration-partner-focus-step1-step1': {
128        trigger: 'focus',
129        params: { eventCategory1: 'registration-partner', eventAction: 'focus', eventLabel: 'step1-step1' },
130        attrs: { 'data-registration-type-name': 'eventLabel2' }
131    },
132    'web-registration-partner-focus-step1-step2': {
133        trigger: 'focus',
134        params: { eventCategory1: 'registration-partner', eventAction: 'focus', eventLabel: 'step1-step2' },
135        attrs: { 'data-registration-type-name': 'eventLabel2' }
136    },
137    'web-registration-partner-focus-step1-step3': {
138        trigger: 'focus',
139        params: { eventCategory1: 'registration-partner', eventAction: 'focus', eventLabel: 'step1-step3' },
140        attrs: { 'data-registration-type-name': 'eventLabel2' }
141    },
142    'web-registration-partner-focus-step1-step4-2': {
143        trigger: 'focus',
144        params: { eventCategory1: 'registration-partner', eventAction: 'focus', eventLabel: 'step1-step4-2' },
145        attrs: { 'data-registration-type-name': 'eventLabel2' }
146    },
147    'web-registration-partner-click-step1-step6-1': {
148        trigger: 'click',
149        params: { eventCategory1: 'registration-partner', eventAction: 'click', eventLabel: 'step1-step6-1' },
150        attrs: { 'data-registration-type-name': 'eventLabel2' }
151    },
152    'web-registration-partner-focus-step1-step6-2': {
153        trigger: 'focus',
154        params: { eventCategory1: 'registration-partner', eventAction: 'focus', eventLabel: 'step1-step6-2' },
155        attrs: { 'data-registration-type-name': 'eventLabel2' }
156    },
157    'web-registration-partner-click-step1-step7': {
158        trigger: 'change',
159        params: { eventCategory1: 'registration-partner', eventAction: 'click', eventLabel: 'step1-step7' },
160        attrs: { 'data-value': 'eventLabel1', 'data-registration-type-name': 'eventLabel2' }
161    },
162    'web-registration-partner-click-step1-next': {
163        trigger: 'click',
164        params: { eventCategory1: 'registration-partner', eventAction: 'click', eventLabel: 'step1-next' },
165        attrs: { 'data-registration-type-name': 'eventLabel2' }
166    },
167    'web-affiliate-program-click-registration': {
168        trigger: 'click',
169        params: { eventCategory1: 'affiliate-program', eventAction: 'click', eventLabel: 'registration' },
170        attrs: { 'data-registration-type-name': 'eventLabel2' }
171    },
172    'web-affiliate-program-click-learn-more': {
173        trigger: 'click',
174        params: { eventCategory1: 'affiliate-program', eventAction: 'click', eventLabel: 'learn-more' },
175        attrs: { 'data-registration-type-name': 'eventLabel2' }
176    },
177    'web-affiliate-program-click-agreement': {
178        trigger: 'click',
179        params: { eventCategory1: 'affiliate-program', eventAction: 'click', eventLabel: 'agreement' },
180        attrs: { 'data-registration-type-name': 'eventLabel2' }
181    },
182    'web-registration-partner-click-step1-back': {
183        trigger: 'click',
184        params: { eventCategory1: 'registration-partner', eventAction: 'click', eventLabel: 'step1-back' },
185        attrs: { 'data-registration-type-name': 'eventLabel2' }
186    },
187    'web-registration-partner-focus-step2-step1': {
188        trigger: 'focus',
189        params: { eventCategory1: 'registration-partner', eventAction: 'focus', eventLabel: 'step2-step1' },
190        attrs: { 'data-registration-type-name': 'eventLabel2' }
191    },
192    'web-registration-partner-focus-step2-step3': {
193        trigger: 'focus',
194        params: { eventCategory1: 'registration-partner', eventAction: 'focus', eventLabel: 'step2-step3' },
195        attrs: { 'data-registration-type-name': 'eventLabel2' }
196    },
197    'web-registration-partner-focus-step2-step5': {
198        trigger: 'focus',
199        params: { eventCategory1: 'registration-partner', eventAction: 'focus', eventLabel: 'step2-step5' },
200        attrs: { 'data-registration-type-name': 'eventLabel2' }
201    },
202    'web-registration-partner-click-step2-activate-experience-in-trading': {
203        trigger: 'change',
204        params: { eventCategory1: 'registration-partner', eventAction: 'click', eventLabel: 'step2-activate-experience-in-trading' },
205        attrs: { 'data-value': 'eventLabel1', 'data-registration-type-name': 'eventLabel2' }
206    },
207    'web-registration-partner-click-step2-activate-experience-in-affiliate-programs': {
208        trigger: 'change',
209        params: { eventCategory1: 'registration-partner', eventAction: 'click', eventLabel: 'step2-activate-experience-in-affiliate-programs' },
210        attrs: { 'data-value': 'eventLabel1', 'data-registration-type-name': 'eventLabel2' }
211    },
212    'web-registration-partner-click-step2-activate-clients-database': {
213        trigger: 'change',
214        params: { eventCategory1: 'registration-partner', eventAction: 'click', eventLabel: 'step2-activate-clients-database' },
215        attrs: { 'data-value': 'eventLabel1', 'data-registration-type-name': 'eventLabel2' }
216    },
217    'web-registration-partner-click-step2-activate-website': {
218        trigger: 'change',
219        params: { eventCategory1: 'registration-partner', eventAction: 'click', eventLabel: 'step2-activate-website' },
220        attrs: { 'data-value': 'eventLabel1', 'data-registration-type-name': 'eventLabel2' }
221    },
222    'web-registration-partner-focus-step2-experience-in-trading': {
223        trigger: 'focus',
224        params: { eventCategory1: 'registration-partner', eventAction: 'focus', eventLabel: 'step2-experience-in-trading' },
225        attrs: { 'data-registration-type-name': 'eventLabel2' }
226    },
227    'web-registration-partner-focus-step2-experience-in-affiliate-programs': {
228        trigger: 'focus',
229        params: { eventCategory1: 'registration-partner', eventAction: 'focus', eventLabel: 'step2-experience-in-affiliate-programs' },
230        attrs: { 'data-registration-type-name': 'eventLabel2' }
231    },
232    'web-registration-partner-focus-step2-website': {
233        trigger: 'focus',
234        params: { eventCategory1: 'registration-partner', eventAction: 'focus', eventLabel: 'step2-website' },
235        attrs: { 'data-registration-type-name': 'eventLabel2' }
236    },
237    'web-registration-partner-focus-step2-step8': {
238        trigger: 'focus',
239        params: { eventCategory1: 'registration-partner', eventAction: 'focus', eventLabel: 'step2-step8' },
240        attrs: { 'data-registration-type-name': 'eventLabel2' }
241    },
242    'web-registration-partner-click-step2-step9': {
243        trigger: 'change',
244        params: { eventCategory1: 'registration-partner', eventAction: 'click', eventLabel: 'step2-step9' },
245        attrs: { 'data-value': 'eventLabel1', 'data-registration-type-name': 'eventLabel2' }
246    },
247    'web-registration-partner-click-step2-send-form': {
248        trigger: 'click',
249        params: { eventCategory1: 'registration-partner', eventAction: 'click', eventLabel: 'step2-send-form' },
250        attrs: { 'data-registration-type-name': 'eventLabel2' }
251    },
252    // END api_form_open_account
253
254    // START amacom main page
255    // motivator
256    'web-main-click-open-account-motivation': {
257        trigger: 'click',
258        params: { eventCategory1: 'main', eventAction: 'click', eventLabel: 'open-account', eventLabel1: 'motivation' }
259    },
260    // custom buttons
261    'web-main-click-about-mt-5': {
262        trigger: 'click',
263        params: { eventCategory1: 'main', eventAction: 'click', eventLabel: 'about_mt_5' }
264    },
265    'web-main-click-about-mt-4': {
266        trigger: 'click',
267        params: { eventCategory1: 'main', eventAction: 'click', eventLabel: 'about_mt_4' }
268    },
269    'web-main-click-copy-trading-investors': {
270        trigger: 'click',
271        params: { eventCategory1: 'main', eventAction: 'click', eventLabel: 'copy_trading_investors' }
272    },
273    'web-main-click-copy-trading-traders': {
274        trigger: 'click',
275        params: { eventCategory1: 'main', eventAction: 'click', eventLabel: 'copy_trading_traders' }
276    },
277    // news
278    'web-main-click-news': {
279        trigger: 'click',
280        params: { eventCategory1: 'main', eventAction: 'click', eventLabel: 'news' }
281    },
282    'web-main-click-news-more': {
283        trigger: 'click',
284        params: { eventCategory1: 'main', eventAction: 'click', eventLabel: 'news-more' }
285    },
286    // END amacom main page
287
288    // START amacom deposit-withdraw page
289    'web-menu-click-open-account': {
290        trigger: 'click',
291        params: { eventCategory1: 'internal_page', eventAction: 'click', eventLabel: 'open_account' }
292    },
293    'web-menu-click-deposit-funds': {
294        trigger: 'click',
295        params: { eventCategory1: 'internal_page', eventAction: 'click', eventLabel: 'deposit_funds' }
296    },
297    'web-menu-click-login': {
298        trigger: 'click',
299        params: { eventCategory1: 'internal_page', eventAction: 'click', eventLabel: 'login' }
300    },
301
302    // START amacom header and footer menu links
303    'web-menu-click-logo': {
304        trigger: 'click',
305        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'logo' },
306        attrs: { 'data-gtm-key-location': 'eventLabel1' }
307    },
308    'web-menu-click-login': {
309        trigger: 'click',
310        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'login'},
311        attrs: { 'data-gtm-key-location': 'eventLabel1' }
312    },
313    'web-menu-click-web-trader': {
314        trigger: 'click',
315        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'web-trader' },
316        attrs: { 'data-gtm-key-location': 'eventLabel1' },
317        text_to: 'value'
318    },
319    'web-menu-click-contacts': {
320        trigger: 'click',
321        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'contacts' },
322        attrs: { 'data-gtm-key-location': 'eventLabel1' }
323    },
324    'web-menu-click-finance-deposit-withdraw': {
325        trigger: 'click',
326        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'finance_deposit_withdraw' },
327        attrs: { 'data-gtm-key-location': 'eventLabel1' }
328    },
329    'web-menu-click-deposit-funds': {
330        trigger: 'click',
331        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'deposit-funds' },
332        attrs: { 'data-gtm-key-location': 'eventLabel1' }
333    },
334    'web-menu-trading-click-open-an-account': {
335        trigger: 'click',
336        params: { eventCategory1: 'menu-trading', eventAction: 'click', eventLabel: 'open-an-account' },
337        attrs: { 'data-gtm-key-location': 'eventLabel1' }
338    },
339    'web-menu-trading-click-account-type': {
340        trigger: 'click',
341        params: { eventCategory1: 'menu-trading', eventAction: 'click', eventLabel: 'account-type' },
342        attrs: { 'data-gtm-key-location': 'eventLabel1' }
343    },
344    'web-menu-trading-click-account-type-standard': {
345        trigger: 'click',
346        params: { eventCategory1: 'menu-trading', eventAction: 'click', eventLabel: 'account-type-standard' },
347        attrs: { 'data-gtm-key-location': 'eventLabel1' }
348    },
349    'web-menu-trading-click-account-type-ecn': {
350        trigger: 'click',
351        params: { eventCategory1: 'menu-trading', eventAction: 'click', eventLabel: 'account-type-ecn' },
352        attrs: { 'data-gtm-key-location': 'eventLabel1' }
353    },
354    'web-menu-trading-click-account-type-zero': {
355        trigger: 'click',
356        params: { eventCategory1: 'menu-trading', eventAction: 'click', eventLabel: 'account-type-zero' },
357        attrs: { 'data-gtm-key-location': 'eventLabel1' }
358    },
359    'web-menu-trading-click-islamic-accounts': {
360        trigger: 'click',
361        params: { eventCategory1: 'menu-trading', eventAction: 'click', eventLabel: 'islamic-accounts' },
362        attrs: { 'data-gtm-key-location': 'eventLabel1' }
363    },
364    'web-menu-trading-instruments-click-trending': {
365        trigger: 'click',
366        params: { eventCategory1: 'menu-trading-instruments', eventAction: 'click', eventLabel: 'trending' },
367        attrs: { 'data-gtm-key-location': 'eventLabel1' }
368    },
369    'web-menu-trading-instruments-click-forex': {
370        trigger: 'click',
371        params: { eventCategory1: 'menu-trading-instruments', eventAction: 'click', eventLabel: 'forex' },
372        attrs: { 'data-gtm-key-location': 'eventLabel1' }
373    },
374    'web-menu-trading-instruments-click-metals': {
375        trigger: 'click',
376        params: { eventCategory1: 'menu-trading-instruments', eventAction: 'click', eventLabel: 'metals' },
377        attrs: { 'data-gtm-key-location': 'eventLabel1' }
378    },
379    'web-menu-trading-instruments-click-crypto': {
380        trigger: 'click',
381        params: { eventCategory1: 'menu-trading-instruments', eventAction: 'click', eventLabel: 'crypto' },
382        attrs: { 'data-gtm-key-location': 'eventLabel1' }
383    },
384    'web-menu-trading-instruments-click-bonds': {
385        trigger: 'click',
386        params: { eventCategory1: 'menu-trading-instruments', eventAction: 'click', eventLabel: 'bonds' },
387        attrs: { 'data-gtm-key-location': 'eventLabel1' }
388    },
389    'web-menu-trading-instruments-click-commodities': {
390        trigger: 'click',
391        params: { eventCategory1: 'menu-trading-instruments', eventAction: 'click', eventLabel: 'commodities' },
392        attrs: { 'data-gtm-key-location': 'eventLabel1' }
393    },
394    'web-menu-trading-instruments-click-indices': {
395        trigger: 'click',
396        params: { eventCategory1: 'menu-trading-instruments', eventAction: 'click', eventLabel: 'indices' },
397        attrs: { 'data-gtm-key-location': 'eventLabel1' }
398    },
399    'web-menu-trading-instruments-click-equities_cfd': {
400        trigger: 'click',
401        params: { eventCategory1: 'menu-trading-instruments', eventAction: 'click', eventLabel: 'equities_cfd' },
402        attrs: { 'data-gtm-key-location': 'eventLabel1' }
403    },
404    'web-menu-trading-click-deposit-funds': {
405        trigger: 'click',
406        params: { eventCategory1: 'menu-trading', eventAction: 'click', eventLabel: 'deposit-funds' },
407        attrs: { 'data-gtm-key-location': 'eventLabel1' }
408    },
409    'web-menu-trading-click-withdraw-funds': {
410        trigger: 'click',
411        params: { eventCategory1: 'menu-trading', eventAction: 'click', eventLabel: 'withdraw-funds' },
412        attrs: { 'data-gtm-key-location': 'eventLabel1' }
413    },
414    'web-menu-trading-click-metatrader-4': {
415        trigger: 'click',
416        params: { eventCategory1: 'menu-trading', eventAction: 'click', eventLabel: 'metatrader-4' },
417        attrs: { 'data-gtm-key-location': 'eventLabel1' }
418    },
419    'web-menu-trading-click-metatrader-5': {
420        trigger: 'click',
421        params: { eventCategory1: 'menu-trading', eventAction: 'click', eventLabel: 'metatrader-5' },
422        attrs: { 'data-gtm-key-location': 'eventLabel1' }
423    },
424    'web-menu-click-app-download': {
425        trigger: 'click',
426        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'app-download' },
427        attrs: { 'data-gtm-key-location': 'eventLabel1' }
428    },
429    'web-menu-click-apk-download': {
430        trigger: 'click',
431        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'apk-download' },
432        attrs: { 'data-gtm-key-location': 'eventLabel1' }
433    },
434    'web-menu-trading-click-open-a-copy-trading-account': {
435        trigger: 'click',
436        params: { eventCategory1: 'menu-trading', eventAction: 'click', eventLabel: 'open-a-copy-trading-account' },
437        attrs: { 'data-gtm-key-location': 'eventLabel1' }
438    },
439    'web-menu-trading-click-copy-trading-investors': {
440        trigger: 'click',
441        params: { eventCategory1: 'menu-trading', eventAction: 'click', eventLabel: 'copy-trading-investors' },
442        attrs: { 'data-gtm-key-location': 'eventLabel1' }
443    },
444    'web-menu-trading-click-copy-trading-traders': {
445        trigger: 'click',
446        params: { eventCategory1: 'menu-trading', eventAction: 'click', eventLabel: 'copy-trading-traders' },
447        attrs: { 'data-gtm-key-location': 'eventLabel1' }
448    },
449    'web-menu-trading-click-copy-trading-rating': {
450        trigger: 'click',
451        params: { eventCategory1: 'menu-trading', eventAction: 'click', eventLabel: 'copy-trading-rating' },
452        attrs: { 'data-gtm-key-location': 'eventLabel1' }
453    },
454    'web-menu-research-education-click-faq-copytrading': {
455        trigger: 'click',
456        params: { eventCategory1: 'menu-research-education', eventAction: 'click', eventLabel: 'faq-copytrading' },
457        attrs: { 'data-gtm-key-location': 'eventLabel1' }
458    },
459    'web-menu-promo-click-for-clients-refer-a-friend': {
460        trigger: 'click',
461        params: { eventCategory1: 'menu-promo', eventAction: 'click', eventLabel: 'for-clients-refer-a-friend' },
462        attrs: { 'data-gtm-key-location': 'eventLabel1' }
463    },
464    'web-menu-promo-click-for-clients-get-cashback-from-amarkets-return-money-from-your-trades': {
465        trigger: 'click',
466        params: { eventCategory1: 'menu-promo', eventAction: 'click', eventLabel: 'for-clients-get-cashback-from-amarkets-return-money-from-your-trades' },
467        attrs: { 'data-gtm-key-location': 'eventLabel1' }
468    },
469    'web-menu-promo-click-for-clients-get-the-best-trading-conditions-and-an-attractive-bonus-offer': {
470        trigger: 'click',
471        params: { eventCategory1: 'menu-promo', eventAction: 'click', eventLabel: 'for-clients-get-the-best-trading-conditions-and-an-attractive-bonus-offer' },
472        attrs: { 'data-gtm-key-location': 'eventLabel1' }
473    },
474    'web-menu-promo-click-for-clients-double-your-deposit': {
475        trigger: 'click',
476        params: { eventCategory1: 'menu-promo', eventAction: 'click', eventLabel: 'for-clients-double-your-deposit' },
477        attrs: { 'data-gtm-key-location': 'eventLabel1' }
478    },
479    'web-menu-promo-click-gold-status': {
480        trigger: 'click',
481        params: { eventCategory1: 'menu-promo', eventAction: 'click', eventLabel: 'gold-status' },
482        attrs: { 'data-gtm-key-location': 'eventLabel1' }
483    },
484    'web-menu-promo-click-for-clients-amarkets-birthday-raffle-win-a-porsche-cayenne-and-over-100-apple-prizes': {
485        trigger: 'click',
486        params: { eventCategory1: 'menu-promo', eventAction: 'click', eventLabel: 'for-clients-amarkets-birthday-raffle-win-a-porsche-cayenne-and-over-100-apple-prizes' },
487        attrs: { 'data-gtm-key-location': 'eventLabel1' }
488    },
489    'web-menu-promo-click-for-clients-markets-cancels-commission-on-deposits': {
490        trigger: 'click',
491        params: { eventCategory1: 'menu-promo', eventAction: 'click', eventLabel: 'for-clients-markets-cancels-commission-on-deposits' },
492        attrs: { 'data-gtm-key-location': 'eventLabel1' }
493    },
494    'web-menu-promo-click-for-clients-trade-demo-earn-real-money': {
495        trigger: 'click',
496        params: { eventCategory1: 'menu-promo', eventAction: 'click', eventLabel: 'for-clients-trade-demo-earn-real-money' },
497        attrs: { 'data-gtm-key-location': 'eventLabel1' }
498    },
499    'web-menu-promo-click-for-clients-transfer-your-trading-account-with-open-positions-to-amarkets': {
500        trigger: 'click',
501        params: { eventCategory1: 'menu-promo', eventAction: 'click', eventLabel: 'for-clients-transfer-your-trading-account-with-open-positions-to-amarkets' },
502        attrs: { 'data-gtm-key-location': 'eventLabel1' }
503    },
504    'web-menu-daily-analytics-click-analytics': {
505        trigger: 'click',
506        params: { eventCategory1: 'menu-daily-analytics', eventAction: 'click', eventLabel: 'analytics' },
507        attrs: { 'data-gtm-key-location': 'eventLabel1' }
508    },
509    'web-menu-daily-analytics-click-main-trade-ideas': {
510        trigger: 'click',
511        params: { eventCategory1: 'menu-daily-analytics', eventAction: 'click', eventLabel: 'main-trade-ideas' },
512        attrs: { 'data-gtm-key-location': 'eventLabel1' }
513    },
514    'web-menu-daily-analytics-click-quarterly-analytics': {
515        trigger: 'click',
516        params: { eventCategory1: 'menu-daily-analytics', eventAction: 'click', eventLabel: 'quarterly-analytics' },
517        attrs: { 'data-gtm-key-location': 'eventLabel1' }
518    },
519    'web-menu-daily-analytics-click-technical-analytics': {
520        trigger: 'click',
521        params: { eventCategory1: 'menu-daily-analytics', eventAction: 'click', eventLabel: 'technical-analytics' },
522        attrs: { 'data-gtm-key-location': 'eventLabel1' }
523    },
524    'web-menu-daily-analytics-click-trades-of-the-week': {
525        trigger: 'click',
526        params: { eventCategory1: 'menu-daily-analytics', eventAction: 'click', eventLabel: 'trades-of-the-week' },
527        attrs: { 'data-gtm-key-location': 'eventLabel1' }
528    },
529    'web-menu-click-trading-ideas-in-telegram': {
530        trigger: 'click',
531        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'trading-ideas-in-telegram' },
532        attrs: { 'data-gtm-key-location': 'eventLabel1' }
533    },
534    'web-menu-click-fx-news': {
535        trigger: 'click',
536        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'fx-news' },
537        attrs: { 'data-gtm-key-location': 'eventLabel1' }
538    },
539    'web-menu-research-education-click-trading-robots': {
540        trigger: 'click',
541        params: { eventCategory1: 'menu-research-education', eventAction: 'click', eventLabel: 'trading-robots' },
542        attrs: { 'data-gtm-key-location': 'eventLabel1' }
543    },
544    'web-menu-research-education-click-vps-servers': {
545        trigger: 'click',
546        params: { eventCategory1: 'menu-research-education', eventAction: 'click', eventLabel: 'vps-servers' },
547        attrs: { 'data-gtm-key-location': 'eventLabel1' }
548    },
549    'web-menu-research-education-click-autochartist': {
550        trigger: 'click',
551        params: { eventCategory1: 'menu-research-education', eventAction: 'click', eventLabel: 'autochartist' },
552        attrs: { 'data-gtm-key-location': 'eventLabel1' }
553    },
554    'web-menu-research-education-click-economic-calendar': {
555        trigger: 'click',
556        params: { eventCategory1: 'menu-research-education', eventAction: 'click', eventLabel: 'economic-calendar' },
557        attrs: { 'data-gtm-key-location': 'eventLabel1' }
558    },
559    'web-menu-research-education-click-traders-calculator': {
560        trigger: 'click',
561        params: { eventCategory1: 'menu-research-education', eventAction: 'click', eventLabel: 'traders-calculator' },
562        attrs: { 'data-gtm-key-location': 'eventLabel1' }
563    },
564    'web-menu-research-education-click-sentiment-widget': {
565        trigger: 'click',
566        params: { eventCategory1: 'menu-research-education', eventAction: 'click', eventLabel: 'sentiment-widget' },
567        attrs: { 'data-gtm-key-location': 'eventLabel1' }
568    },
569    'web-menu-research-education-click-trade-analyzer': {
570        trigger: 'click',
571        params: { eventCategory1: 'menu-research-education', eventAction: 'click', eventLabel: 'trade-analyzer' },
572        attrs: { 'data-gtm-key-location': 'eventLabel1' }
573    },
574    'web-menu-information-click-trading-hours': {
575        trigger: 'click',
576        params: { eventCategory1: 'menu-information', eventAction: 'click', eventLabel: 'trading-hours' },
577        attrs: { 'data-gtm-key-location': 'eventLabel1' }
578    },
579    'web-menu-information-click-rollovers': {
580        trigger: 'click',
581        params: { eventCategory1: 'menu-information', eventAction: 'click', eventLabel: 'rollovers' },
582        attrs: { 'data-gtm-key-location': 'eventLabel1' }
583    },
584    'web-menu-trading-click-expirations': {
585        trigger: 'click',
586        params: { eventCategory1: 'menu-trading', eventAction: 'click', eventLabel: 'expirations' },
587        attrs: { 'data-gtm-key-location': 'eventLabel1' }
588    },
589    'web-menu-click-leverage-information': {
590        trigger: 'click',
591        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'leverage-information' },
592        attrs: { 'data-gtm-key-location': 'eventLabel1' }
593    },
594    'web-menu-click-amarkets-advantages': {
595        trigger: 'click',
596        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'amarkets-advantages' },
597        attrs: { 'data-gtm-key-location': 'eventLabel1' }
598    },
599    'web-menu-research-education-click-faq': {
600        trigger: 'click',
601        params: { eventCategory1: 'menu-research-education', eventAction: 'click', eventLabel: 'faq' },
602        attrs: { 'data-gtm-key-location': 'eventLabel1' }
603    },
604    'web-menu-click-blog': {
605        trigger: 'click',
606        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'blog' },
607        attrs: { 'data-gtm-key-location': 'eventLabel1' }
608    },
609    'web-menu-click-video-lessons': {
610        trigger: 'click',
611        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'video-lessons' },
612        attrs: { 'data-gtm-key-location': 'eventLabel1' }
613    },
614    'web-menu-click-tg-amarkets-journal': {
615        trigger: 'click',
616        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'tg-amarkets-journal' },
617        attrs: { 'data-gtm-key-location': 'eventLabel1' }
618    },
619    'web-menu-click-fa-webinars-persian': {
620        trigger: 'click',
621        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'fa-webinars-persian' },
622        attrs: { 'data-gtm-key-location': 'eventLabel1' }
623    },
624    'web-menu-click-fa-forex-videos': {
625        trigger: 'click',
626        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'fa-forex-videos' },
627        attrs: { 'data-gtm-key-location': 'eventLabel1' }
628    },
629    'web-menu-click-fa-fundamental-analysis': {
630        trigger: 'click',
631        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'fa-fundamental-analysis' },
632        attrs: { 'data-gtm-key-location': 'eventLabel1' }
633    },
634    'web-menu-click-affiliate-program': {
635        trigger: 'click',
636        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'affiliate-program' },
637        attrs: { 'data-gtm-key-location': 'eventLabel1' }
638    },
639    'web-menu-promo-click-for-partners': {
640        trigger: 'click',
641        params: { eventCategory1: 'menu-promo', eventAction: 'click', eventLabel: 'for-partners' },
642        attrs: { 'data-gtm-key-location': 'eventLabel1' }
643    },
644    'web-menu-click-partner-community': {
645        trigger: 'click',
646        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'partner-community' },
647        attrs: { 'data-gtm-key-location': 'eventLabel1' }
648    },
649    'web-menu-about-amarkets-click-about-amarkets': {
650        trigger: 'click',
651        params: { eventCategory1: 'menu-about-amarkets', eventAction: 'click', eventLabel: 'about-amarkets' },
652        attrs: { 'data-gtm-key-location': 'eventLabel1' }
653    },
654    'web-menu-about-amarkets-click-regulation': {
655        trigger: 'click',
656        params: { eventCategory1: 'menu-about-amarkets', eventAction: 'click', eventLabel: 'regulation' },
657        attrs: { 'data-gtm-key-location': 'eventLabel1' }
658    },
659    'web-menu-click-news': {
660        trigger: 'click',
661        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'news' },
662        attrs: { 'data-gtm-key-location': 'eventLabel1' }
663    },
664    'web-menu-about-amarkets-click-documents': {
665        trigger: 'click',
666        params: { eventCategory1: 'menu-about-amarkets', eventAction: 'click', eventLabel: 'documents' },
667        attrs: { 'data-gtm-key-location': 'eventLabel1' }
668    },
669    'web-menu-about-amarkets-click-careers': {
670        trigger: 'click',
671        params: { eventCategory1: 'menu-about-amarkets', eventAction: 'click', eventLabel: 'careers' },
672        attrs: { 'data-gtm-key-location': 'eventLabel1' }
673    },
674    'web-menu-about-amarkets-click-contacts': {
675        trigger: 'click',
676        params: { eventCategory1: 'menu-about-amarkets', eventAction: 'click', eventLabel: 'contacts' },
677        attrs: { 'data-gtm-key-location': 'eventLabel1' }
678    },
679    'web-menu-click-open-demo-account': {
680        trigger: 'click',
681        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'open-demo-account' },
682        attrs: { 'data-gtm-key-location': 'eventLabel1' }
683    },
684    'web-menu-click-open-account': {
685        trigger: 'click',
686        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'open-account' },
687        attrs: { 'data-gtm-key-location': 'eventLabel1' }
688    },
689    // END amacom header and footer menu links
690
691    // START amacom footer
692    // social links
693    'web-menu-click-facebook': {
694        trigger: 'click',
695        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'facebook', eventLabel1: 'footer' }
696    },
697    'web-menu-click-instagram': {
698        trigger: 'click',
699        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'instagram', eventLabel1: 'footer' }
700    },
701    'web-menu-click-linkedin': {
702        trigger: 'click',
703        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'linkedin', eventLabel1: 'footer' }
704    },
705    'web-menu-click-tg': {
706        trigger: 'click',
707        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'tg', eventLabel1: 'footer' }
708    },
709    'web-menu-click-youtube': {
710        trigger: 'click',
711        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'youtube', eventLabel1: 'footer' }
712    },
713    // payment methods
714    'web-menu-click-payment-methods': {
715        trigger: 'click',
716        params: { eventCategory1: 'menu', eventAction: 'click', eventLabel: 'payment-methods', eventLabel1: 'footer' },
717        attrs: { 'data-gtm-payment-system': 'value' }
718    },
719    // END amacom footer
720
721    // START amacom TI3
722    // TI3 archive tabs
723    'web-trading-instruments-click-group': {
724        trigger: 'click',
725        params: { eventCategory1: 'trading-instruments', eventAction: 'click', eventLabel: 'group' },
726        attrs: { 'data-group_id': 'value' }
727    },
728    // END amacom TI3
729};
730
731// Функция обогащения параметров.
732function enrich_params(base_params, el, cfg) {
733    const params = { ...base_params };
734
735    // Добавляем текст ссылки (если нужно).
736    if (cfg.text_to && el.textContent) {
737        params[cfg.text_to] = el.textContent.trim();
738    }
739
740    // Добавляем атрибуты (если нужно).
741    if (cfg.attrs && typeof cfg.attrs === 'object') {
742        Object.entries(cfg.attrs).forEach(([attr, field]) => {
743            if (el.hasAttribute(attr)) {
744                params[field] = el.getAttribute(attr);
745            }
746        });
747    }
748
749    return params;
750}
751
752// Ждём готовности GTM (событие gtm.js).
753function on_gtm_ready(callback) {
754    const dl = window.dataLayer = window.dataLayer || [];
755
756    // Если уже есть gtm.js — выполняем сразу.
757    if (dl.some(item => item.event === 'gtm.js')) {
758        callback();
759
760        return;
761    }
762
763    const original_push = dl.push;
764    dl.push = function() {
765        const result = original_push.apply(dl, arguments);
766        if ([...arguments].some(item => item.event === 'gtm.js')) {
767            callback();
768        }
769
770        return result;
771    };
772}
773
774// Автоматическая привязка событий.
775document.addEventListener('DOMContentLoaded', () => {
776    // События клика.
777    document.body.addEventListener('click', (e) => {
778        const target = e.target.closest('[data-gtm-key]');
779        if (!target) return;
780
781        const key = target.dataset.gtmKey;
782        const cfg = gtm_config[key];
783        if (cfg && (!cfg.trigger || cfg.trigger === 'click')) {
784            const params = enrich_params(cfg.params, target, cfg);
785            window.send_gtm_event(params);
786        }
787    });
788
789    // События фокуса.
790    document.body.addEventListener('focusin', (e) => {
791        const target = e.target.closest('[data-gtm-key]');
792        if (!target) return;
793
794        const key = target.dataset.gtmKey;
795        const cfg = gtm_config[key];
796        if (cfg && cfg.trigger === 'focus') {
797            const params = enrich_params(cfg.params, target, cfg);
798            window.send_gtm_event(params);
799        }
800    });
801
802    // События change
803    document.body.addEventListener('change', (e) => {
804        const target = e.target.closest('[data-gtm-key]');
805        if (!target) return;
806
807        const key = target.dataset.gtmKey;
808        const cfg = gtm_config[key];
809        if (cfg && cfg.trigger === 'change') {
810            const params = enrich_params(cfg.params, target, cfg);
811            window.send_gtm_event(params);
812        }
813    });
814
815    // Когда GTM готов — пушим контекст страницы.
816    on_gtm_ready(() => {
817        const page_type = (document.body.classList.contains('home') || document.body.classList.contains('land_theme')) ? 'main' : 'internal';
818        const user_locale = navigator.language || 'unknown';
819
820        window.dataLayer.push({
821            page_type,
822            user_locale
823        });
824    });
825});
826
827

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.