On October 1st, Google announced Google Tag Manager, a free tool for managing marketing and tracking tags on your site. I've sensed a lot of confusion around its launch, so I'd like to discuss what tag management is and why it's so powerful.
There are a number of companies that have been providing tag management software as a paid service for years (I'm sure they're wild about Google making it free). I won't discuss the pros and cons of different tag management software offerings, rather, just the concept in general, and some directly actionable tips using Google's service. At the end of the post, I'll include links to some of the other, likely more robust, tag management services.
What and why?
Tags are snippets of code that usually placed in the <head> of a page which enable 3rd-party tracking, analysis, and reporting. Google Analytics and other analytics platforms are an obvious tag, but remarketing, conversion tracking, affiliates, and advanced customer insight services utilize tags as well.
Tag management is a concept that was born out of the increasing need for more agile marketing measurement and tracking ability. Managing and making changes to tags can be tedious and involve unnecessary red tape.
I hate talking conceptually with this sort of thing, so let's get right to a real-world example. Let's get all up in SEOmoz's business.
How SEOmoz could benefit from tag management
Let's take the homepage of SEOmoz. Within the source of the homepage, I can identify a number of tags that would work well with a tag manager. Feel free to take a look for yourself, but it seems like the team at Moz has included:
- Google Analytics - Natch
- Kiss Metrics - For more advanced customer insights
- AdRoll - For remarketing
- Simpli.fi - Also for remarketing
- Optimizely - For CRO testing *Google Tag Manager does not support A/B testing tags at launch, but it's apparently coming soon. For other tag managers, YMMV.
- I'm assuming they've got even more tags on conversion pages such as the AdWords conversion snippet and any affiliate marketing tracking pixels.
What do you suppose happens when someone on the marketing team wants to add to, subtract from, or alter one of the above tags?
Pick and choose for your company:
Emails get sent, changes are added to a massive work queue, meetings are scheduled, sprints are added to, excuses are made, staging servers are updated 3 weeks later with live roll-out scheduled for another 3 weeks, etc.
Not fun, not agile.
Tag managers allow marketing to have control over their own little space on a web page. The 6 or 7 tags on any given page are replaced by a single container. That container contains code that listens to rules dictated in the tag manager's backend as to when to fire what tags.
If the Moz team wants to try out a new remarketing service, they can grab the snippet necessary, drop it into the tag manager, set some rules for when it gets fired, and publish live to the site - all in 10 minutes, all without ever getting IT involved.
Is it for you?
Keep in mind that there are plenty of sites on the web, especially eCommerce, that are far more complicated than SEOmoz.org by nature. The need for Tag Management is even greater in this situation.
In order to reap the rewards of agility and future simplicity, there are quite a few hurdles and complexities that have to be overcome upfront. For this reason, tag management is simply not worth the effort for everyone. If you...
- Rarely get push back on requested tag changes
- Don't change tags often
- Can get changes made to tags within a matter of hours
...then tag management probably isn't for you. For everyone else, tag management is a great tool in the agile marketer's toolbox. Let's take a deep look at Google Tag Manager.
Google Tag Manager
In case you haven't yet seen Google's 4 minute video explaining the utility and setup of GTM, give this video a look. Afterwards, we'll look at specific customizations that web marketers can make.
GTM offers some nice versioning and debugging features. Additionally, the container blog is an asynchronous JavaScript snippet so it will not effect page load or block other JavaScript.
Macros
GTM uses macros and rules to decide when a tag is fired. Macros are just a name-value pair that can be used to build rules around. The value itself, in many cases, is populated in runtime. That is, at the moment the page itself is being built for the user.
Out of the box, GTM has three default macros that can take care of a lot on their own:
URL macro
This is an easy one. The name is URL, the value is whatever the current URL happens to be.
An example of a rule based around a URL:
If URL = /confirmation.html send our 'Conversion' tags.
Your conversion pages likely have smorgasbord of conversion tracking tags like AdWords, eCommerce analytics snippets, ROI trackers from comparison shopping engines, etc.
HTTP Referrer macro
Another easy one. The name is HTTP Referrer, the value is the previous page that the user visited.
An example for this macro:
If referring page matches Twitter or Facebook, send the 'Referred by Social' tags.
Perhaps this is a visitor-scoped Google Analytics custom variable.
Event macro
A bit more complicated, especially if you're used to Google Analytics events. There are similarities, and you'll likely use them together, but it's best to forget that GA has something called an 'event' for now.
Events can be used to track interactions on a page after the page loads. As an example, if a user interacts with a form on your site, you can push an event. If there are any rules that depend on that event value, the specified tag will fire.
The code for pushing an event looks like this:
dataLayer.push({'event': 'event_name'});
So, for SEOmoz's purchase page, if we wanted to track a form submission as an event, we'd take the form code we had:
<form id="user_data" class="ignore_dblclick" method="post"
action="https://www.seomoz.org/cart/purchase_checkout">
and add:
<form id="user_data" class="ignore_dblclick" method="post"
action="https://www.seomoz.org/cart/purchase_checkout"
onsubmit="dataLayer.push({'event': 'form_submitted'});">
Now, any tags that have a rule setup to fire when the event value's name is 'form_submitted' will do so.
Outside of form submission events, another example:
If event = 'abandonedFunnel' - send the 'Cart Abandoned' tags.
Perhaps you have a system in which you send shopping cart-saving emails to users that abandon their shopping carts.
Why are we doing this?
What if we already have a standard Google Analytics onSubmit event set up so that we can track form submissions as a goal? What's the benefit here?
We have to step back and think a bit high level here to understand. A form being submitted on our site is an important occurrence. No matter what services we're using to track our marketing efforts 10 years from now, it's a piece of information we want to track. By using a tag manager and setting this form submission as an event, we remain super flexible in the following scenarios:
- Start working with a new affiliate that pays out on form submissions but wants their own pixel to fire? We already have the event setup, just need to setup a rule in the tag manager.
- Want to try out the hot new web analytics platform? No need for additional markup on the page, just adjust the tag manager.
- One of your services make an "improvement" to their snippet that requires updating? Piece of cake. We can get it published and live on the site in 5 minutes with a tag manager.
Custom macros
In addition to the above macros, we have the option of using custom macros to define rules. Our options include:
Constant string
Meh. This one has pretty limited utility. The Google documentation offers about the only use case I can imagine:
If you want to set a standard company name across your site, for example, you could define it as a Constant String type macro. This would allow you to easily update the string in Google Tag Manager and see it reflected across all the tags that use this macro.
JavaScript variable
Got a global JavaScript variable that prints out on the page that you'd like to build a rule around? That's what this one is for. To give you a real example:
On my Tumblr, I noticed that, by default, Tumblr prints the tags (as in blog post tags, not marketing tags) in a global variable on the page.
Take this post for example. In the <head>, we see the tags are passed into tumblr_meta_keyboards (Lord only know why the hell they chose to call this variable 'keyboards'. Typo?):
<script>var tumblr_meta_keyboards = 'xoxo,xoxofest,texts';</script>
Creating a macro for this allows me to set custom rules for tag firing based on the data in the macro. Pretty easy to write up a rule that fires a custom version of the GA snippet that passes the tags into custom variables when tags are detected. Notice I reference the macro we just created above using the {{macro_name}} syntax in the custom variable line.
Data layer
To explain a data layer in full opens up a whole can of worms. If you want the full story, Justin Cutroni described it in glorious detail in this post.
A data layer is a collection of data on a page that includes any important piece of information from that page in an easy to access format. Imagine the confirmation page on an eCommerce site: you've got transaction details, shipping details, quantities, product IDs, order numbers, etc. It's all scattered about on the page. A data layer stores all that info in a name-value pair in the source code (not printed on the page so the user can see), making it super simple to access by a tag manager.
Within the source of the above page, a data layer would neatly lay it all out.
var dataLayer = {
"pageTitle" : "Confirmation page",
"pageURL" : "/confirmation.html",
"tranID" : "239871",
"tranTotal" : "47.54",
"tranTax" : "1.54",
"tranShipping" : "5.00",
"tranShippingMethod" : "USPS",
"tranCurrency" : "USD",
"tranProds" : "11312|2335|44443",
"tranSKUs" : "23|3233|22",
"tranProdNames" : "Fake Product 1|Fake Product 2|Fake Product 3",
"tranCategories" : "Misc|Games|Hijinks",
"tranPayMethod" : "VISA",
"visitorType" : "Repeat Buyer",
"visitorFirstPurchDate" : "20121001",
"visitorFirstProds" : "13333"
}
Along with eCommerce data, the following types of data would work great in a data layer:
- Page category
- Page subcategory
- Visitor ID
- Member status
- Login state
- Many more examples at the bottom of this page
With tag management and a data layer working together, it's super simple to create a rule that sends your custom variables and segments to however many analytics platforms you use. Tracking logged in user behavior in GA, Mixpanel, and KissMetrics? Create a rule in GTM that pushes all three custom tags if the data layer name 'logged_in' = yes. Piece of cake.
It can be a hefty undertaking to implement a data layer, but the investment upfront can save tons of time in the long run. Most importantly, it allows IT to focus on fixing bugs and improving product, while the marketers don't have to worry about the IT time necessary to implement new tags ever again.
For GTM specifically, the data layer should be in the code above the container. Read more at Google's developer documentation.
DOM text and DOM attribute
If you happen to have data that you'd like to access and store with macros marked up just right, you might be able to use them in your rules.
Let's go back to my Tumblr as an example. This page includes this code:
<div id="title">
<h1 class="logo"><a href="/" title="Stars and Astral Cars - Home">
Stars and Astral Cars</a></h1>
</div>
If, for whatever reason, I wanted to pass my Tumblr's title into a rule, I could create a DOM text macro that accesses it like so:
This looks for the "title" ID, grabs the text (Stars and Astral Cars), and stores it in a macro.
If you're lucky enough to have some useful data marked up just so, you might be able to make this work with some rules. This would be nice:
<p id="transaction_amount">35.45</p>
<p id="transaction_tax">2.43</p>
However, I'm not sure you'll be lucky enough to have all the data you need perfectly marked up in this manner.
Google Analytics
A quick note on Google Analytics installation through GTM:
The basic installation of Google Analytics through GTM is really straightforward. By default, you'll utilize an "All Pages" rule that Google provides for default. Simple enough.
If you plan to do funky stuff like send custom variables according to rules you've set, you'll need to use the 'Custom HTML' tag type, and make sure you set a rule to block the traditional snippet from firing:
Rules here say: Fire the normal Google Analytics snippet on all pages UNLESS the url macro contains /post/
Apparently, there are further Google Analytics specific enhancements coming later to GTM, so the above methodology may be a lot of work for something that might be a cinch whenever Google gets around to releasing those enhancements.
Conclusion
Tag management is an agile marketers dream. Like Google Analytics did back in 2006, GTM has entered a paid market with a free offering that is a solid product from launch. If GTM follows the GA model, it will continue to improve. There are already a few features slated for future release, like the ability to manage A/B testing snippets. I also have a strong feeling that Google Analytics will be embracing GTM for their upcoming changes to cross-domain tracking, which is currently a very cumbersome process.
If you're interested in tag management but GTM doesn't get the job done, the following is a (hopefully) exhaustive list (credit, again to Justin Cutroni) of the other players in the tag management space. Though I don't have a terrible amount of experience with any, they've been at it for a while and are likely even more powerful than GTM:
Does tag management sound like it's for you? Have you already implemented GTM or another tag management solution? How'd it go?
The flexibility and transparency for a marketeer are obvious. No more long project cycles through IT and back. But are there also performance gains? Reduction of code and less http requests.
Anyone has tested this yet? Is there some performance benefit in using the Tag Manager?
Mike,My conclusion about half way through your post was that we don't need GTM. But I had to leave a comment about how excellent this post is. Professional, clear, and richly informative. You're hired!
I was just thinking the same thing. I don't need it today, but really appreciate such a thorough walk-through for when I do need it down the road.
Heh. There's a reason I gave it such an easy-to-find title...
Whilst I like the concept and the benefits of keeping code cleaner and probably performance savings of having Google host the tracking tag management has always had massive security implications. Having all of your javascript tracking in one file off site means that through one vulnerability or account compromise you can open up your site to massive cross site scripting issues.
I've actually seen, and demonstrated, this in the past on some of the other tag management systems which were out there (and free, I didn't trial the paid solutions at the time as my employer then was using a free version which I noticed have a huge security issue whereby i was able to freely edit anyone's tags and thus demonstrated how this could be used to rewrite the entire website.
Now whilst I do not expect that this will be an issue with Google it is something which people need to be aware of
Of course when you work in a big enterprise, even getting a tag management system approved is a huge effort... in fact even more so than getting individual tags added because the developers would not like the idea of not being in control of which tags are firing.
So you'd still have to go through them since they are the gatekeepers who control the websites (however much marketing like to think they do!). It's just shifting the problem, not solving it.
However the Byzantine rules big businesses employ with regards to websites aren't Google's fault and it looks like a good tool, and this was a helpful article. I'll just go back to begging developers to make changes now.... *sigh*
Hi Mike,
This is a great overview of Tag Management and in particular Google Tag Manager. From reading the comments, it sounds like Tag Mgt may be new to some SEOmoz readers and therefore some advise is recommended prior to implementation here: https://www.ab-analytics.com/blog/13-golden-rules-for-successful-tag-management-solution-adoption/
Thanks,Alex
I was just testing using our new Google Analytics jQuery Plugin in Google Tag Manager and I found a bug in the Custom HTML Tag Type in GTM. Here is what happens: The Custom HTML Tag Type is fired as expected while using Google Chrome and Firefox. But when I try the same with IE9 or IE8, the Custom HTML Tag Type does not fire. Other tag types in the same tag container (conversion and Google Analytics), do fire when you go from one page to the next. I should be clear, the Custom HTML Tag Type does fire on the first page of your visit using IE but each additional page request only fires the standard Tag Types in the Tag container. This is very important, because you may lose a lot of visit details if you use a Custom HTML Tag Type and your uses/visitors are using IE.
Well I have to apologise. It seems that if you follow the instructions "in detail", you can overcome some issues. I just moved my GTM tag from before the closing </head> tag to just after the opening <body> tag and it fixed my problem with the Custom HTML Tag Type not working in IE.
Very strange!
So, in closing. It is very important to place the GTM tag in the right place.
The security concerns have already been mentioned but additionally there's the issue of data. Now I realize that if you're using Google Analytics, Google Adwords Conversion Tracking, Google Analytics Advanced Conversion Tracking, etc. - the cat's pretty much out of the bag at that point.However, this is yet _more_ information about our sites that we're turning over to Google for free stuff. I do see the value here. Just like there's value to Google Analytics. But let's at least go at this with eyes wide open. We are asking Google to help us with the "hard stuff" that we could do ourselves and in exchange we are funneling _everything_ about our site through Google. This same concern exists with other tag management providers but, still.
There are a lot of companies that use Google Analytics (and other Google products) even though they know that in the process they are providing Google almost everything Google could ever want to know about what is most likely one of their customers (who doesn't use Adwords?).
Then there are companies who do this that have no clue that they should even be concerned about providing this information to Google (or even that they are).
As long as you're in the first group and you're still considering using the Google Tag Management product, more power to you. When they add Ecommerce I might be there with you. Just don't be in that second group, please.
Great post! I was blown away when Google launched this. Makes some really cool functionality available to small site owners that previously was cost prohibitive outside of larger companies.
Hi Mike, regarding the Transactional Data for Ecommerce, how would you deal with the old addItem method? I mean, in one purchase there could be multiple products, so with the old ecommerce tracking code, we would add dynamically as many addItem methods as we need.
Now with the Data Layer how can we handle that? Should we include in the data layer variables such as SKU1, ProductName1,.., SKU2, ProductName2,.. etc.? But then what Custom HTML tag would you use inside the Container for the following method:
_gaq.push(['_addItem',
'orderID', // order ID - necessary to associate item with transaction
'SKU1', // SKU/code - required
'ProductName1', // product name - necessary to associate revenue with product
'ProductCat1', // category or variation
'UnitPrice1', // unit price - required
'Quantity1' // quantity - required
]);
How many addItem methods should we use, as you don't know how many Items will be purchased for every transaction, since this changes every time?
Am I missing something obvious here? Hope I've been clear enough explaining my doubt and I would really appreciate your help. Thanks a lot.
This is really tremendous feature launched by Google. You have explain all the feature and usage of tag manager in detail so it becomes more understandable for us. It is really great feature for the E-commerce website it would help them to overcome complexity. It is little deferred from Google analytic so we are ready to take benefits of GTM.
Thanks for the post. Just wondering whether Google TMS can be used to manage non GA tags. example, can google TMS be used to manage webtrends, omniture code?
Very well written. I think tag managers actually have more of a place in larger mid sized organizations who have not been completely inundated by change control and still have some flexibility. Of course until something breaks.. Then away goes the tag manager ;)
Hey Mike, I think at this time Tag Manager doesn't yet fully support eCommerce website, may be support in the near future, But Anyone has tested this yet? Is there any performance benefit in SERP?
Good article - have only just discovered Tag Management. Have stumbled across OpenTag from Qubit which looks excellent. I see that joelhaffey has commented about this already.
While this is a great tool i can't see any significant company using due to security reasons. They enable an external company to insert complex code onto the site and that's something most organizations will only do in house
I tried the tag manager code, with just copy and paste in the page that is
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
I got validation errors from the HTML validator, so I took it back off. A great idea
but I"m waiting for cleaner coding out of the copy and paste.
Don't seems something for all the websites expect very big websites. Speaking in a personal way I do not apply a lot of changes to tags.
Seems pretty darn nifty. Wonder how fast it renders and whether or not it's worth transferring some javascripts and tags that many sites had previously configured to their caching programs over to this.
A more powerful free tag manager is offered by Mezzobit (www.mezzobit.com), and it's free as a SaaS solution for websites of any size. Google Tag Manager is a very limited offering, with poor support for synchronous and visual tags, as well as only a handful of tags in its partner library.
Many users have a fear of entrusting their data to third parties, whether it's Google or someone else. Mezzobit has a unique dot-com/dot-org governance process to address this, creating the industry's most stringent data handling processes. We created a soon-to-be-independent data privacy non-profit, DataNeutrality.org, which sets Mezzobit's data protocols, provides continuous monitoring, and sends periodic report cards back to customers. More information about this innovative privacy solution can be found in a recent article in Audience Development magazine (https://bit.ly/1kUPCU4).
Finally, unlike Google, the Mezzobit solution also offers a growth path beyond free tag management into management of data leakage, privacy policies, A/B testing, and mobile data collection.
[Laughing] And, after all that nicely detailed technical bumf, you've still not provided a clear and succinct answer to your own question; "What IS Tag Management?"
What is it ; what's it for ; and, why should anyone be interested? Never mind How it works.
I recently stumbled across Mezzobit, a company claiming to offer an enterprise class TMS completely for free. Has anyone heard of them? Used them?
I know I am late to the party on this but THANKS. Just got a client who has over 2,000 tags on her blog and pages. Way too many for what she is trying to accomplish. This will be a lifesaver!
jordan
Great post Mike, very thorough! One issue we had early on with tag management and migrating to a tag management system was finding all tags firing across my site, removing ones from the page source, and then ensuring that my tags were firing where they were supposed to be site-wide through the TMS. It was a brutally long manual process. So we built taginspector.com to do the monitoring/scanning automatically. Would love your feedback.
Hi all,
Another tag manager built specifically for analytics is Segment.io -- it provides a simple javascript API for analytics.track()-ing custom events and analytics.identify()-ing users. The data gets mapped to all your analytics integrations.
-Peter
Does anyone know how long it usually takes for the Tag Manager to upload the codes to the website after you have published a version? I uploaded some remarketing and conversion codes yesterday but it is yet to generate any data so I'm not sure if I have done it correctly!
When I previewed it, it said that they were firing correctly.
I knew I should have included SEOMoz when I wrote a post on the best Web Analytics resources! https://www.koozai.com/blog/analytics/top-ten-best-web-analytics-resources/
Great post, this tool really needs some proper explanation for it to be used to its full advantage,thanks Mike.
Awesome article. I still need to read this carefull to understand a little more about this new Googloe tool :)
Hi all,
I am loving the tag manager's diverse functionality so far. Just unsure about one fundamental thing: is the <body> tag the correct place to add the tag manager code on all pages?I am asking this because I inserted google analytics tracking with tag manager which per GA instructions should go to the <head> section of the page.Will it work correctly and will I be able to utilize GA for all it's features?
thanks for your kind advice in advance. Imre
This is awesome! I didn't realize that this was available but is an ingenious idea for both page speed and overall efficiency. Thanks for the article, i'll be using GTM from now on.
Simply informative. I have learnt alot of new and good things about tag management!! thnx
That could prove usefull. Can we have a Google Tag Management MCC?:)
by adding you email adress to individual account you can indeed manage it from one login!
Mike, you've really provided a great example of an actionable post. Not everyone is going to need to do this, but for those that do you really provide insight into how to do it and why.
Also, you really could combine the JavaScript snippets for each analytical tool without having to buy into the Google Tag Manager. You'll still reap the benefits of one container to rule them all.
Thanks for a great post to read on a Monday!
Really promising, but for now GTM doesn't support eCommerce tracking from Analytics. So i'll wait before using it.
Mike, this is nice introduction to what tag management is if you have not heard about it before. However, there is more to consider if you really want to use it. I also have to disagree regarding the criteria you mention to identify if "tag management is not for you".
From my experience, the main benefits that Tag Management solutions bring are awareness of the tagging process so you can more easily make it an important piece of your development process, and it can also bring efficiencies to that process. So, if you are having many issues to push changes in your code and if you want to expedite your tagging process, maybe tag management is what have been waiting for.
If you are seriously considering Google Tag Manager(GTM) or any other tag management solution for that matter, I would advice to learn a bit more of what it really implies and what can it really deliver for you (with our post announcing the launch of GTM we put together a list of tag management resources and links you may find useful in your research).
GTM can be a great solution for many situations (I put together a piece comparing Google Tag Manager to Ensighten) and it can fall short in many other. However where the dividing line falls is not as evident as you may think.
Seems like a logical step to mash them all together. I can imagine it may be a little harder to update individual codes after putting them all into one file thought.
Great read and a great initiative by Google! I work at a small scale agency where I take care of many different areas for various clients. Almost all of the areas requires the use of scripts and tags, so this is definatly a good way to cut in line when I need new stuff implemented.
One thing that bothers me though, is that they did not include a way to confirm ownership of a site, in Google Webmaster Tools - using the Tag Manager. Since the scipts you put into your tag manager are not triggered before a user is actually on a page, you can not use your GA script to do this. I think this is valuable information, would be cool if you added it to the article!
Good writeup. Anyone noticed that the iframe version (loaded within <noscript> tags) doesn't have anything in it? It means if Javascript is disabled then your Tag Manager script won't fire.
We've tweeted at @googleanalytics but they haven't noticed.
Disable JavaScript while browsing, and it's filled ;)
It is not something I need urgently, but I can imagine it to be useful for larger websites. Thanks for this elaborate introduction to the Google tag manager.
I hope i can get more deep into this and i would like to say thanks to Google for this Tag Manager.
Important to note that Tag Manager doesn't yet fully support eCommerce tracking. Despite that it's still a useful tool for some and should include eCommerce in the near future. We spoke about it a little here: https://goo.gl/1FI4L
They still might lose it after some time as they did with a lot of other services, features and settings.It's worth working with it still.
Mike Great Post!!! I just had a client ask me about Google Tag Manager today and I quickly referenced your post.
Thank you!
Hands up if you've never heard of Google Tag Manager before this blog post! Thanks for sharing info on it- I may have missed it for a while.
Mind buggling!
*head exploded*
Great one tag management is Google new launches where people can have their site info. In Simple language can be said as 3rd-party tracking, analysis, and reporting. Overall great article with nice topic to began the discussion.
Great Post!! I have already used Google Tag Manager but still I am looking for updates in same... :)
Nice development - Not sure I will be using it very much in the near future. But having some reading material prepped is great. :)
Cheers!
Very interesting post. A little intense for a Monday morning :-) I think I glazed over 3-4 times before it actually sunk in, but I only blame myself and not you Mike. Thanks to screenpilot and bprinceVAR for pointing out that GTM doesn't yet support e-commerce. I too will wait it out and dive in once this is enabled. I currently have to fight pushback every time I want to add a tag of any kind, and then I have to ask someone else to do it because I don't have access to the source code. Thanks for covering this topic.
Love the savings in html code from the tag manager.
We had been evaluating OpenTag when Google Tag Manager was announced. While GTM may prove easier to gain approval from IT due to the brand cache, it does not currently support several of the synchronously loading tags that we need.
Our marketing team is getting a link to this.
Thank you for a an easy to read concise article. Appreciate it.
I believe what we need is one formal standard for making keywords - especially those consisting of two keywords and more. Shall we put them joined by a dash? Or maybe we shall include them between quotation marks? Or just write them in plan text and separate with semicolon? Different sites use different methods. If we want to utilize a full keywords (or key phrases in this context) we need to have them comparable.
So does using the DOM text and DOM attribute could help me customize my title tags and meta descriptions?
After the latest version of Google search Engine,it is really essential to optimize on-page.I think relevant content with meta keywords,meta description,meta title above all meta tag is must to have proper seo optimize website.Thanks for sharing this informative article.I am trying to learn more and more.
try the Q/A section for help .. perhaps some of your links might be dead ?