send iformation to google-tag-manger’s Data-Layer
send iformation to google-tag-manger's Data-Layer
hi maverick,
i've been using alot of your extensions lately, so i have alot of ieas :)
i want to suggest a feature for all CoreJoomla components, not jsut Community Quiz.
i wish the components could send custom data into the Goolge-Tag-Manager's Data-Layer, which can then be used with GTM to create Google-Analytics-Events.
i will explain how i already use it and what i think can be achieved by core-implementation, and will try to give as many clear examples as i can. i'm sure this is plenty of work, but i think it's will be highly valuble, as it will allow very deep understanding of user intractions with the components, combining wiht GTM and google analytics.
intro
i'm using alot of Google Analytics Events on my sites to measure the effect of different stuff on conversion rates. for exmaple, on Community Polls i use google-tag-manager to creat a custom variable named "poll title". then when a user vote on a poll, i send an event with the category "poll vote" and the action "{{poll title}}" (dinamiclly filled with the current poll title).
but this have some problems - first it limits the things i can measure - for example i can create a variable with the poll title, but i can't create a different varible for each answer on the poll, or the amoung of answers in it (at least not with alot of custom coding). additinaly, this only works on pages where only 1 poll is shown. if there is more then 1, the variable is filled with the title of the first poll in the page.
to measure what drives more poll-votes, i have custom variables for "poll title", "poll description" and "current votes number". so for exmaple, for the event's category i will always enter "poll vote", the event's action will be dinamiclly filled with {{poll title}} - and for the event's label i will use GTM to check the poll-description to check if it has certein word/s in it (like a call-to-action), and send a "yes" or "no" value in the event's lable.
so this way i can the effect of using a call-to-action in the poll's description on the overall voting-conversion rate.
this example is relatively easy, and can be set manually. but i beleive that by core-implementation, it's possible to achieve so much more then that. core-joomla components can fire varsitile and valuble information into the data-layer, which can then be used in almose endless ways.
this can amount to alot of informatino, but if the site's admin can choose which data the component should set in the data-layer, it will be muach easier to handle.
i will give some example from the components i currently work with:
community polls
example for data that can be sent
- poll title
- poll description (content string)
- poll description (exist / don't exist)
- poll author (name string)
- poll author (shown / not shown)
- poll category (name string)
- poll category (shown / not shown)
- votes number (number)
- answers number (number)
- answers text (different text-string for each answer - for example 'answer01 : string' 'answer02 : string', etc.
- placement / view (module / content plugin / poll page / category page)
- tags (number)
- tags (shown / not shown)
- polls number (in lists views)
- information for each poll in the list view (votes number / author / category / etc)
some very cool stuff we can check with the this information
- effect of different words (like call-to-actions or subjects) in the poll's title, description and / or answers.
- effect of amount of answers in poll.
- effect of showing / not showing category or author.
- effect of poll's title / description length.
- effect of amount of polls in the list (on how many users click a poll's title).
- effect of votes number on the user choice which poll to click in a list
- and much much more....
CJ forum
example for data that can be sent
- post title
- post author
- replies number
- names of user/s in conversion (in 1 text string: yorai,maverick,dan - or each in a different variable)
- text of post
- text of all replies (each in a different vatible like 'reply01 : text' 'replay02 : text' etc
- work cound of post (number)
- category / tags / author (text string/s)
- category / tags / author (shown / not shown)
- information for the post and all replies (likes / dislikes number, word count, author, etc...)
- information for all posts in category (content / authors / replies number / etc)
- points-message shown to user (shown)
- points-message shown to user (numer of points)
- points-message shown to user (action that generated the points rewared)
- posts number in category
some very cool stuff we can check with the this information
- the effect of certeing user participating in conversation, on other users to join as well (and overall conversion rate of engegament with the tread).
- the effect of replies nubmer
- the effect of post length
- the effect of number of likes / dislikes
- the effect of points being rewared to the user, on the further engagement of the user with the site (for example, will user who get 10 points stay longer then users who get only 1?)
- the effect of some words existing or not in a post's title, on the amounts of clicks in a posts-list
i can go on and on...
but i belive by now you get my point.
i hope you will consider adding this feature or some of it, to all or some of your components :) what i love about them is that they allow me to easily create very engageging sites, and add very customised social features. this can be completed by a set of data in the data-layer, which will be used by each web-master to learn what truly drives the users-angagement on the site.
if this is something that you would consider, i would be happy to built a more detailed mokup of information that i think will be usefull, and example of ways it can be used in different components.
thanks for taking the time to read all this
yorai
edit: wanted to add this link with more information: https://developers.google.com/tag-manager/devguide