Default type of a Ad? - google-ads-api

Currently doing a migration from old legacy code where we have a custom SOAP client to make calls to the AdWords apis. In the legacy code, we never specified a "Ad type". I'm wondering what the default for this is? Ad types are of several enumerations like "Product Ad", "Shopping Ad", etc
Another thing is the purpose of a "Product Ad". Is the Product Ad just a umbrella term meaning, "use all types"? I checked the implementation and it's a empty class extending the base template Ad class.
Thanks,
Regards,
Raymond

Adwords has lots of different ad formats, some are textual like "Expanded Text Ads", others are graphic, e.g. "Image Ads" or "Video Ads".
Here's a list of all supported creative types. These correspond (not always in an obvious way) to the different subtypes of the SOAP Ad type.
There's no default ad type per se, but I suppose you could call the Expanded Text Ad the default one—it's the classic text ad on top of a SERP.
As for your specific question about the Product Ads, these are ads that are used in Shopping Campaigns. They are created automatically by Adwords based on the information in the advertiser's merchant center account.

Related

How to use "Source" property in VCard?

I stumbled upon a seemingly awesome feature in the VCard Specification, specifically the "SOURCE" property as specified in https://www.rfc-editor.org/rfc/rfc6350#section-6.1.3. The claim is that you can provide a URI and that is the location where applications can sync the contact. I would like to use this feature in an app I am developing, but I can't seem to get it to work. Specifically, when I add a contact in my phone (iOS contacts app) with the "SOURCE" field, it doesn't appear to be used. When I change the data pointed to in the URL, my phone app never picks up the change. Does this mean that my developer friends at Apple did not implement this feature in the contacts app, or is the source field not what I think it is? Using an example from the wiki page:
BEGIN:VCARD
VERSION:4.0
N:Gump;Forrest;;Mr.;
FN:Forrest Gump
ORG:Bubba Gump Shrimp Co.
TITLE:Shrimp Man
PHOTO;MEDIATYPE=image/gif:http://www.example.com/dir_photos/my_photo.gif
TEL;TYPE=work,voice;VALUE=uri:tel:+1-111-555-1212
TEL;TYPE=home,voice;VALUE=uri:tel:+1-404-555-1212
ADR;TYPE=WORK;PREF=1;LABEL="100 Waters Edge\nBaytown\, LA 30314\nUnited States of America":;;100 Waters Edge;Baytown;LA;30314;United States of America
ADR;TYPE=HOME;LABEL="42 Plantation St.\nBaytown\, LA 30314\nUnited States of America":;;42 Plantation St.;Baytown;LA;30314;United States of America
EMAIL:forrestgump#example.com
SOURCE:http://directory.example.com/addressbooks/fgump/Forrest%20Gump.vcf
REV:20080424T195243Z
x-qq:21588891
END:VCARD
I thought that once I loaded this contact into the contact card, and then changed the name from "Forrest Gump" to "Jack Frost" that the card would eventually sync. However, I have seen no behavior. Is this some kind of placebo field?
I've always read the SOURCE property description in RFC6350 as being purely aspirational. To my knowledge (admittedly skimpy), no one has ever implemented an automated data store update using it. That's not to say that you couldn't implement the concept in your own code, but it might get unwieldy for more than a trivial number of contacts. As a place you can go to manually check for updates to contact information, though, it's a great property to have available.

What Intent to be used for Sirikit for ecommerce application

I am developing an E-Commerce application.
I want to integrate Sirikit with the app.
Sample Instructions i want to give is in the following format
Buy |Something| from |App Name|
I did everything but i am confused which Domain or Intent to choose. Would be great if someone could guide me.
The only domain that seems suitable for your needs is the Payment domain.
As its documentation states, the Payment domain can be used for bill payment to any vendors, so it seems like a good candidate for an eCommerce application. Specifically, you should be using the INPayBillIntent as this is the intent that should be used to facilitate a financial transaction between an individual (your user) and an entity (the seller of your eCommerce product).
Even this intent won't exactly match your use case, so most probably you won't be able to use the phrase "Buy |Something| from |App Name|", but this is as close as you can get with the currently available intent domains.

How to get the specific <Ad ID, Campaign ID> that was clicked on from the landing page?

I've been searching for a solution to this, which I thought would be trivial, and seems pretty much impossible.
Here's the situation: I set up an AdWords campaign, ad groups and ads. I point them to www.mysite.com
Once visitors arrive to my site through one of my ads, I want to know which exact ad they clicked on (and campaign, as apparently the ad id isn't globally unqiue). Is this possible?
I first tried by enabling Destination URL auto-tagging, but seems like the gclid parameter is pretty much useless.
Then I looked at the UTMZ cookie, but it seems like at most (correct me if this isn't the case), you get the campaign number (is this even the ID in AdWords?) and the keywords searched or the ad's keywords, one of those. Not anything I can uniquely identify the ad by, right?
Finally, I looked at ValueTrack, although again correct me if I'm wrong, but this would mean manually changing the destination URL of each of my ads in AdWords, right? Even doing this, I'm not sure I can get something that lets me uniquely identify the clicked ad. Is {creative} what I want? It's described in the docs as the "unique ID of the creative", does that mean this includes the Campaign.Id and the AdGroupAd.Id?
Thanks!
There is a way to do what you want using tracking templates.
Navigating to auto-tracking and tracking template settings:
Log in to Adwords, and click "Campaigns".
Click "Shared Library" in the bottom left corner.
Under "Shared Library", click "URL options".
You'll now get these options:
These options are set for the entire account. I think it is possible to override the tracking template for individual campaigns, ad groups and ads. Here is what they mean:
Auto-tagging
Auto-tagging means that when a user clicks on an ad, they will go a URL with the gclid parameter appended, for example http://yourwebsite.com/?gclid=example. This value is useful for some things, such as for offline conversions, so your website should save it.
Tracking template
Tracking template means that when a user clicks on an ad, they will be directed to this URL. Interestingly, it does not have to be your website, as long as the URL redirects to your website. For instance, you could set it up to look like this:
http://trackingcompany.com/?url={lpurl}&campaignid={campaignid}
{lpurl} and {campaignid} are placeholders which AdWords recognises and knows how to handle. So, for example, if a user clicks on an ad, they could go to:
http://trackingcompany.com/?url=http%3A%2F%2Fyourwebsite.com&campaignid=543987
trackingcompany.com must redirect the user now to http://yourwebsite.com, otherwise, it is in violation of AdWords policy and your ads could be rejected.
Now, here's the clever bit that I didn't realise because all of this is badly documented: you don't have to use a third-party tracking company to get access to things like campaign id. You can just reuse your own website! Just set your tracking URL to something like this:
{lpurl}?campaignid={campaignid}
You see that? {lpurl} will get replaced with the landing page, which is your website! So the user in our example would go to this URL upon clicking an ad:
http://yourwebsite.com?campaignid=543987
It's not clear to me whether example.com must now redirect to the landing page URL without those parameters, or not.
I can't find documentation on these placeholders anywhere, but these are the ones that I've found work:
{lpurl} landing page URL
{campaignid} campaign ID
{adgroupid} ad group ID
{creative} creative or ad ID
{keyword} keyword
Auto-tagging and tracking template together
If you enable both auto-tagging and a tracking template, then AdWords would behave as it normally does with a tracking template, appending a gclid query parameter.
Addendum: ignoring these new query parameters in Google Analytics:
If you use Google Analytics, you probably want to ignore these query parameters, merging hits with these parameters with hits that don't have them. You can do that by setting the "Exclude URL Query Parameters" option to aw_campaignid,aw_adgroupid,aw_creative,aw_keyword. You can't apply this retroactively, so do this before making any AdWords changes.
As far as I know there is no value track for campaign or ad group ID. You could just append something to the end of each ad's destination URL based on the campaign & ad group, but that is a bit of a chore.
If you link your Google Analytics & AdWords accounts and use auto-tagging in AdWords you can get the information you want in GA through the AdWords report (shows campaign, ad group, keyword etc). GA is able to use the gclid to retrieve data from AdWords, and I think you can then use the GA API to get the campaign data back out if you want it.
You could:
turn off auto-tagging
pull the entire account into an excel file
insert a new column for each desired output variable (Campaign, ad id [like Headline?])
trim, lower, and find/remove spaces from the target columns (so something like: campaignname, compressedheadline)
then concatenate that column with your destination URLs and a UTM string like this:
?utm_source=google&utm_medium=ppc&utm_content=compressedheadline&utm_campaign=campaignname
use this function and replace with the appropriate columns
=concatenate([dest url column],"?utm_source=google&utm_medium=ppc&utm_content=",[compressedheadline column],"&utm_campaign=",[campaignname column])
if the functions for the parts between the quotes break the formula, paste them into their own cells and then reference the cells in the concatenate function.
Drag this formula down the entire account,
Copy / Paste Special / Paste Values of the new Destination URLs over the old Destination URLs.
Remove unnecessary columns that have been created between Campaign, Ad Group, Headline, Description Line 1, Description Line 2, Display URL and your new Destination URL.
Then highlight just the Campaign, Ad Group, Headline, Description Line 1, Description Line 2, Display URL and your new Destination URL and you can paste this into the AdWords Editor under "add/update multiple ads.
You can get this data from the CLICK_PERFORMANCE_REPORT - The only downside to this, is that this report can only be run for 1 day. so if you needed a month worth of data - you would have to run about 30 reports -
The ad Id is the "CreativeId" - you can get the campaignId and Adgroup ID as well from this report - there is 1 row for each click - (GCLID) these are unique.
see this link for more info on what fields are available
https://developers.google.com/adwords/api/docs/appendix/reports#click

same iOS app with different personalization?

I'd like to program an app which essentially has the same functionality, but with different personalization at the icon level. For instance, the app essentially would have information and communication functionality for a particular business, but I'd like to have the icon/name in front reflect the specific business name. So in other words, the app would let you do things like browse merchandise and place orders, but for two different clients one would say "Home Depot" and the other would be "Loews" in the icon/name.
In the end, I'm customizing the "storefront" to the client, but the backend is pretty much the same in terms of functionality.
Is there any way to do this programatically? I suppose I could submit different apps to Apple, but given that the code would be essentially the same, wouldn't it get rejected for similar functionality?

iOS. Configure flurry to display ads with my concrete apps?

For example playhaven allows to create a concrete set of applications to display. Even if they don't belong to me.
Is it possible to do the same with Flurry? It is hard to understand anything with their awful design. As I understand I must create "a new campaign" but it doesn't allow to advert with a zero budget/price
Are you looking to serve direct sold ads using Flurry? If yes, you can create an 'Advertisers' campaign under the Publishers tab, and set the value in the price field as $0.01. There is a bug in the system which doesn't allow the value to be $0.00. However, since this value is only for your self-reporting purpose, it wouldn't affect ad serving.
For any further queries, please write to support#flurry.com.
(Full disclosure: I work in the Support team at Flurry)

Resources