Analyze Google Adwords - google-ads-api

I am looking to connect online leads data in Salesforce with Google Adwords keywords. Is there any way to have following fields I can add in Lead.
Click Cost
Keyword

What you can do is to use the lead field "lead_source" on salesforce and set that it takes the query string parameter into that field.
If you use PHP It will like the following
<input type="hidden" id="lead_source" name="lead_source" value="<?php $_GET['url_source'] ?>"/>
Now, when you set the target URL on Adwords in you should employ the keyword replacement, using the same query string name.
http://www.example.com?url_source={keyword}
or put after url_source here whatever extra data you want (I put more than just the keyword). But I don't know of a reason to get the cost there, only the keyword.
The problem with this approach is that you can only take the keyword from URL if the user downloaded on the same landing page (if he navigates to another page, you lose the query string parameter). If you want to keep this information for a later conversion, you will have to store this data in a cookie. Try this project if you want to implement it:
https://github.com/dm-guy/utm-alternative

Related

Google Sheet find cell by URL parameter

I have a database of elements, each element has its own QR Code. After reading the code I would like to be able to open the worksheet on a specific tab and jump to the appropriate cell (according to the element name). Calling a worksheet through a URL with the #gid parameter allows you to open a tab.... the "range" parameter allows you to jump to a specific cell.... and what if I want to search for an item by name? Something like: https://docs.google.com/spreadsheets/d/1fER4x1p.../edit#gid=82420100&search=element_name.... is it possible?
Google has not introduced this yet
But you can look into Google Script (Googles SpreadSheets macros like) to achieve this.
Also a simpler approach will be to just filter the data, but this will change your requirement obviously. For example you can create a Filter with the name you are looking for and then you will get the URL.
This is the URL to a Sample of this, it should open the
Spreadsheet and filter the data when loaded. This is the Icon to
look for to create the filters
here is some documentation for you to get started on Google App Script, but I don't have a direct link to let you know how to catch the parameters for it to process them. What I can tell you is that this is a much more complicated approach than just a URL because it involves programmatic processing on the Spreadsheet side.

Does Google AdWords support automatically appending a different query string to a campaign's destination URLs for ads and sitelinks?

I have an existing Google ad campaign that geotargets a particular region. The destination URL of all the ads and sitelinks have the same query string appended to it ("area=astoria").
I now need to copy this campaign to 50 other campaigns, each of which will target a different region. Each campaign will have a different value for the area key, so for instance one campaign might use "area=manhattan" and another "area=bronx".
The campaign I'm cloning has many ads and sitelinks, all of which need to have the query string changed. I know how to manually change the destination urls, but it's an enormous amount of busy work...
As a workaround, is there a way to automatically append a different query string to all the destination URLs for ads and sitelinks in a particular campaign in Google AdWords?
To answer my own question, the answer is to use a Tracking Template on the Campaign level.
To do this, click into the Campaign you want to edit and click on the Settings tab. Then open the "Campaign URL options (advanced)" section and change the Tracking URL to something like this:
{lpurl}?area=whatever
You can click the TEST button to make sure your ads work. Your sitelinks should also have the same query string appended to it. (Note that a Campaign-level Tracking Template can be overridden at the Adgroup-, Ad-, or Sitelink-level, so those more specific Tracking Templates would have to not be used for a Campaign-level Tracking Template to be used.)

How to track type-ahead internal search in SiteCatalyst

I'm planning out how to track internal search data in Omniture/SiteCatalyst.
It's a fairly straight-forward plan for a standard "enter a term and get a page of results" model: set sProps and eVars with the terms, the count of results, and the page searched from, then fire a success event for searching and another for clicking a search result.
For a type-ahead search--where the user is given search results as they type in a search bar--what's a good strategy for handling the timing of event submissions so that you don't end up with different events/entries for letters 4, 5, 6, and 7 of a search term's entry?
Our solution was to leverage a delay on the autocomplete to reduce the number of calls. From a tracking standpoint, if someone pauses for 1 second (or 500 ms, whatever), then they're probably actually waiting for the autocomplete results, and that constitutes a valid search.
From a technical standpoint, we leveraged the delay option on the jQuery UI widget.
Strategy I've always used is to not track the "auto-complete" search features..put the tracking on the search results page same as normal. Or are you saying the whole search results page is being output as the user types? If that is the case...one thing you could do is write some code to pop the Omniture code when the search field loses focus.
Another thing you can do is as the visitor is typing in the search bar, on each keypress, write the current value to a cookie. Then have some code that runs on page load to look for that cookie and if it exists, pop the Omniture search variables and erase the cookie. Alternatively you can keep track of current value w/ a server-side session variable since I assume this thing is ajax driven, and output the omn code w/ server-side code if session var exists. These methods would mean that the search events and vars would not pop on the search results page...this probably isn't that big a deal, unless you have supporting variables you pop, like an "internal search referrer" prop/eVar that keeps track of the previous page the visitor was on (or the page the visitor was on when they performed the search). So you'll have to keep that in mind and carry that over as well.
Whenever you do a search you might be aware of the concept that query string parameter get added at the end of URL.
Suppose www.stackoverfow.com is website and when are you performing a search on it then it will be like www.stackoverflow.com?q=yourname , yourname is the searchkeyword.This keyword we can capture in sitecatalyst.
you can see google.com while searching on internet for sitecatalyst is ---
www.google.co.in/search?q=sitecatalyst
In the same way we can use query string parameter as q = something.
after doing all this thing we can use the plugin getQueryParam in plugin section of the s_code library file to fetch that variable and store that in sitecatalyst variable...
example:-
function s_doPlugins(s) {
var one = s.getQueryParam("q");
if(one)
s.eVar1=one;
}
s.doPlugins=s_doPlugins
insert this below code outside plugin section
/*
* Returns the value of a specified query string parameter, if found in the current page URL.
*/
s.getQueryParam=new Function("p","d","u",""
+"var s=this,v='',i,t;d=d?d:'';u=u?u:(s.pageURL?s.pageURL:s.wd.locati"
+"on);if(u=='f')u=s.gtfs().location;while(p){i=p.indexOf(',');i=i<0?p"
+".length:i;t=s.p_gpv(p.substring(0,i),u+'');if(t){t=t.indexOf('#')>-"
+"1?t.substring(0,t.indexOf('#')):t;}if(t)v+=v?d+t:t;p=p.substring(i="
+"=p.length?i:i+1)}return v");
s.p_gpv=new Function("k","u",""
+"var s=this,v='',i=u.indexOf('?'),q;if(k&&i>-1){q=u.substring(i+1);v"
+"=s.pt(q,'&','p_gvf',k)}return v");
s.p_gvf=new Function("t","k",""
+"if(t){var s=this,i=t.indexOf('='),p=i<0?t:t.substring(0,i),v=i<0?'T"
+"rue':t.substring(i+1);if(p.toLowerCase()==k.toLowerCase())return s."
+"epa(v)}return ''");
you will find that it will capture your search results
please let me know in case of more clarifications

Linkedin url function

I came across a post on Quora addressing why LinkedIn uses tokens like *1_*1_*1_*1_*1_* in their url. The answer mentioned these help track where a user came from to enable a user to return to where he came from.
How exactly does the URL store that type of information, and why would they use that token instead of something more conventional, such as ?last=this-page?
Appears that those are used to carry forward and populate the form values on the left for the search page. The 1 is probably a section or form number, * means wildcard (empty on form). The _ is just a separator. Try populating a previously empty form field and click search You'll you see one of the previously *1 portions of the url be replace with the value you provided in your form.

Can't parse new google urls - HTTP_REFERER doesn't contain parameters anymore

It seems a little odd to my, but although everybody knows about the new google search urls (see Google using # instead of search? in URL. Why?) no one has a problem with the HTTP_REFERER.
I'm using the referrer to parse the google string for the searchquery (&q= ) but as this is all in a hash-tag it wont be sent to the server and all i get is "http://www.google.de/".
So do you know a way of getting the query the user searched for, befor landing on my site?
Due to late-2011 Google security changes, this is no longer possible when the search was performed by a signed-in Google user. See:
http://googleblog.blogspot.com/2011/10/making-search-more-secure.html
http://analytics.blogspot.com/2011/10/making-search-more-secure-accessing.html
Since there are multiple q's in the query string you have to match the "q" parameter globally and take the last one:
/[?|&|#]q=([^&|^#]+)/ig
Get rid of "site:" searches (there are others, but I haven't done them)
/[\+|?|&]?site:([^&|^#])+/g, '');
Then parse the results.
/[\w^'\(\)\{\}]+|"[^"]+"/g
This has been working well for me.

Resources