More info...
Adwords allows us to track which keyword was triggered by the original search query, as described in another thread, called dynamic insertion.
Problem: when I use dynamic insertion in the url, the keyword that's passed in the url seems to lose its square brackets or double quotes.
Example:
If I have the following keywords set up:
fuzzy orange (broadmatch)
"fuzzy orange" (phrase match)
[fuzzy orange] (exact match)
and adwords destination url is:
[example.com?kw={keyword}...]
then I simply see fuzzy orange in my tracking database. It loses any info regarding double quotes or square brackets.
What we've done is to make separate adgroups for each type of matching. Then the destination URLs of each of the adgroups use dynamic insertion but prepend a "B-" or "E-" or "P-" or whatever before the keyword.
One other thing you might want to know, we are seeing some problems when we do this for keywords with spaces in them. URLs aren't supposed to contain unescaped spaces, and if a browser makes a request for such a URL the request will fail. The dynamically generated destination URLs AdWords generates *seem* to be properly escaped, but we are seeing around 30 clicks a day requesting URLs with unescaped spaces, giving those users an error (and wasting our 30 clicks!).
We are not yet sure what's going on.. It's definitely only for a few of our users (maybe some buggy browser or something) but anyway I thought I might warn you that there may be issues. We just opened a support ticket about this, and I'll post results here if anyone is interested.
BTW, if you're running apache and are having this problem there will be entries like the following in the error_log file:
[Thu Oct 14 17:00:59 2004] [error] [client 162.119.232.106] request failed: erroneous characters after protocol string: GET /blahblah/orange widgets HTTP/1.0
I can't find the 'official' G help file on how to do this. If someone finds it in the adwords FAQs, please post it.
Then tried examining the source code on the adwords page on which you input new creative copy. Seems there is a "regular expression" filter and I hoped it may give a hint at other allowable dynamic parameters.
Here is part of the function:
-----------
var
results =
field.value.match(/\{keyword:[^\}]+\}/i);
if (results) {
maxlimit += "{keyword:}".length;
}
results = field.value.match(/\{keyword\}/);
if (results) {
maxlimit += "{keyword}".length - 1;
}
--------
I can decipher the regular expressions, and it suggests that dynamic parameters other than {keyword} and {keyword:blablabla} are not accepted.
In case any Google visitors from the future are having a similar problem and have stumbled across this page, there is a Google Answers thread at [answers.google.com...] that covers this matter in more depth.
For other PPCSEs not managed by OP, we use our own tag the same way, except that we have to analyse the web logs to get the info.