Monthly Archives: March 2014

Step Inside AdWords on April 22 and be the first to see the newest innovations

It’s an exciting time to be a performance marketer. When we combine the creative magic of marketing with technology that’s available anytime, anywhere, and on any device, we can connect with customers in more innovative and relevant ways than ever before.

We are constantly working to improve AdWords, and on Tuesday, April 22, 2014 at 9am PT, Jerry Dischler, VP of Product Management for AdWords will share a brand new set of innovations with you live on the Inside AdWords blog. Register for the livestream here.

Building on the success of enhanced campaigns, Jerry will announce a number of new features that help you use context to reach customers in even more effective ways. We’ve designed new tools so you can increase awareness and engagement everywhere your customers are online – from the web, to the mobile web, to mobile apps. And when it’s time to manage your campaigns and measure performance, we want to help you do so efficiently in AdWords with new functionality designed for the multi-screen world.

These AdWords innovations are the result of countless conversations we’ve had over the past year with advertisers, both large and small. Based on your feedback, hundreds of product managers and engineers worked hard to build these new products. Simply put, we built these new products for you.

We hope you’ll join the April 22 livestream of our announcements featured here on the Inside AdWords blog. Register for the livestream here. Until then, follow us on our +GoogleAds page for sneak previews of what’s to come. Use hashtag, #StepInsideAdWords, to join in on the conversation.

Monetizing Unity Mobile Apps Just Got Easier

Calling all Unity app developers! We are excited to announce the launch of version 2.0 of the Google Mobile Ads Unity Plugin. The new version comes with a completely rewritten, but much more flexible, API. It includes the following new features:

  • A single package supporting both Android and iOS
  • Support for running apps in the Unity editor
  • Ability to create multiple banner instances
  • Ability to create banners of any size
  • Flexible ad request targeting
  • and much more!

Taking a closer look at how to integrate the plugin, a typical banner request in v2.0 looks like this:


BannerView bannerView = new BannerView(
"YOUR_AD_UNIT_ID", AdSize.Banner, AdPosition.Top);
AdRequest request = new AdRequest.Builder().Build();
bannerView.LoadAd(request);

For custom banner sizes, simply pass in an AdSize object into the BannerView constructor:


AdSize adSize = new AdSize(250, 250);
BannerView bannerView = new BannerView(
"YOUR_AD_UNIT_ID", adSize, AdPosition.Top);

Want to pass additional targeting parameters? No problem! Set your custom targeting when building the AdRequest:


AdRequest request = new AdRequest.Builder()
.AddTestDevice(AdRequest.TestDeviceSimulator)
.AddTestDevice("0123456789ABCDEF0123456789ABCDEF")
.AddKeyword("unity")
.SetGender(Gender.Male)
.SetBirthday(new DateTime(1985, 1, 1))
.TagForChildDirectedTreatment(true)
.Build();

Listening for ad events is also extremely straightforward. Register for the callbacks you care about:


bannerView.AdLoaded += HandleAdLoaded;
bannerView.AdFailedToLoad += HandleAdFailedToLoad;
bannerView.AdOpened += HandleAdOpened;
bannerView.AdClosing += HandleAdClosing;
bannerView.AdClosed += HandleAdClosed;
bannerView.AdLeftApplication += HandleAdLeftApplication;



public void HandleAdLoaded()
{
print("HandleAdLoaded event received.");
}

You can also manage the lifecycle of each BannerView by calling show(), hide(), or destroy().

To get access to these awesome features, check out the source code. Also stay tuned for upcoming support for interstitial ads.

If you have any feature requests or bug reports against the plugin, track it! If you have questions about how to use the plugin, speak up! And if you just want the latest news on what’s going on in the wonderful world of Google Ads, circle us!

Introducing the YouTube Creator Playbook for Brands

Ever wonder why Smosh gets millions of views on every video posted to their channel? Or how Michelle Phan is able to attract and retain an audience of more than 6M subscribers who tune into her videos every week?

To demystify what makes these top channels tick and help you better understand how to create a successful strategy for your brand on YouTube, we developed the new YouTube Creator Playbook for Brands. Similar to the Creator Playbook, which has helped over 2 million of our creators grow their audiences, the Creator Playbook for Brands walks you through the steps to help you create, plan, and implement a YouTube content creation strategy; from tips on how to create videos to video promotion.

To dive right in, download the full playbook here. But to give you a taste of what you'll find, we thought we’d do some myth busting on the five most commonly misunderstood fundamentals about creating content for YouTube:

Myth #1: Virality is the only measure of YouTube success. The most successful creators release episodic series to generate high sharing and viral activity, as one video will often break out and then introduce massive audiences to the entire series.

Myth #2: I can only be successful on my own. While you should optimize your own channel for discovery, authentic collaborations with YouTube creators can be a hugely impactful way to help new viewers discover your brand.

Myth #3: All videos must provide utility. Don't get us wrong, how-to and informational videos play a key role in a content strategy, but tapping into the cultural moments and memes that your audience is a part of on YouTube is an integral part of reaching new viewers.

Myth #4: People will watch my video where I want them to. In reality, a significant percentage of your audience will discover your video from a social feed, search result, or a related video placement. You’ll know you’ve done your job when every episode of your show can be fully appreciated by a first time viewer.

Myth #5: To keep viewers interested, I need to constantly reinvent my videos. Most top creators agree that consistency is crucial to success on the site. Stay true to who you are and be consistent - in format (a recurring series), elements (intros and outros), and voice. This will set a clear point of view that accurately reflects your brand and keeps your fans coming back for more.

Check out Think Insights for more tips on how to build your audience and engage them over time.

Posted By Vanessa Pappas, Global Head of Audience Development, YouTube

Sending data from Lantronix to Google Analytics

The following is a guest post from Kurt Busch, CEO, and Mariano Goluboff, Principal Field Applications Engineer at Lantronix.

Background
Google Analytics makes it easy to create custom dashboards to present data in the format that most helps to drive business processes. We’ve put together a solution that will make several of our devices (networking and remote access devices) easily configurable to enable delivery of end device data to Google Analytics. We use the Lantronix PremierWave family of devices to connect to an end device via a serial port like RS-232/485, or Ethernet, intelligently extract useful data, and send it to Google Analytics for use in M2M applications. 

What you need
To get started, grab the Pyserial module, and load it on your Lantronix PremierWave XC HSPA+. You’ll also want a device with a serial port that sends data you want to connect to Google Analytics. A digital scale like the 349KLX is a good choice.

Architecture overview
With the Measurement Protocol, part of Universal Analytics, it is now possible to connect data from more than web browsers to Analytics.

Lantronix integrated the Measurement Protocol by using an easy to deploy Python script. By being able to natively execute Python on PremierWave and xSenso devices, Lantronix makes it very easy to deploy intelligent applications leveraging Python’s ease of programming and extensive libraries.
The demonstration consists of a scale with an RS-232 output, connected to a Lantronix PremierWave XC HSPA+. The Python script running on the PremierWave XC HSPA+ parses the data from the scale, and sends the weight received to Google Analytics, where it can then be displayed.

The hardware setup is show in the picture below.


The technical details
The Python program demonstrated by Lantronix uses the Pyserial module to parse this data. The serial port is easily initialized with Pyserial:
class ser349klx:
# setup the serial port. Pass the device as '/dev/ttyS1' or '/dev/ttyS2' for
# serial port 1 and 2 (respectively) in PremierWave EN or XC HSPA+
def __init__(self, device, weight, ga):
while True:
try:
serstat = True
ser = serial.Serial(device,2400, interCharTimeout=0.2, timeout=1)
except Exception:
serstat = False
if serstat:
break
self.ser = ser
self.weight = weight
self.ga = ga

The scale used constantly sends the current weight via the RS-232 port, with each value separated by a carriage return:

def receive_line(self):
buffer = ''
while True:
buffer = buffer + self.ser.read(self.ser.inWaiting())
if '\r' in buffer:
lines = buffer.split('\r')
return lines[-2]

The code that finds a new weight is called from a loop, which then waits for 10 equal non-zero values to wait for the weight to settle before sending it to Google Analytics, as shown below:
# This runs a continuous loop listening for lines coming from the
# serial port and processing them.
def getData(self):
count = 0
prev = 0.0
#print self.ser.interCharTimeout
while True:
time.sleep(0.1)
try:
val = self.receive_line()
weight.value=float(val[-5:])*0.166
if (prev == weight.value):
count += 1
if (count == 10) and (str(prev) != '0.0'):
self.ga.send("{:.2f}".format(prev))
else:
count = 0
prev = weight.value
except Exception:
pass

Since the Google Analytics Measurement Protocol uses standard HTTP requests to send data from devices other than web browsers, the ga.send method is easily implemented using the Python urllib and urllib2 modules, as seen below:

class gaConnect:
def __init__(self, tracking, mac):
self.tracking = tracking
self.mac = mac
def send(self, data):
values = { 'v' : '1',
'tid' : self.tracking,
'cid' : self.mac,
't' : 'event',
'ec' : 'scale',
'ea' : 'weight',
'el' : data }
res = urllib2.urlopen(urllib2.Request("http://www.google-analytics.com/collect", urllib.urlencode(values)))

The last piece is to initialize get a Google Analytics connect object to connect to the user’s Analytics account:

ga = gaConnect("UA-XXXX-Y", dev.mac)

The MAC address of the PremierWave device is used to send unique information from each device.

Results
With these pieces put together, it’s quick and easy to get data from the device to Google Analytics, and then use the extensive custom reporting and modeling that is available to view the data. For example, see the screenshot below of real-time events:

Using Lantronix hardware, you can connect your serial devices or analog sensors to the network via Ethernet, Wi-Fi, or Cellular. Using Python and the Google Analytics Measurement Protocol, the data can be quickly and easily added to your custom Google Analytics reports and dashboards for use in business intelligence and reporting.

Posted by Aditi Rajaram, the Google Analytics team


Changes Required for Creating New Campaigns in the AdWords API v201402

With v201402 of the AdWords API, it is now necessary to set the advertisingChannelType when you create a new Campaign. As part of this change, the networkSetting attribute is now used to define in more detail where you want your ads to appear.

All newly created campaigns, or campaigns that are switched into targeting both Search and Display using v201402, will automatically be SNDS campaigns. This behavior is the same as you will see in the AdWords User Interface, bringing that and the API into closer alignment. Existing applications are unaffected. As we continue to invest in Search Network with Display Select (SNDS) and see strong adoption from advertisers, we will over time be upgrading Search & Display Network campaigns to Search Network with Display Select.

With the introduction of both SNDS and Shopping campaigns, the new advertisingChannelType field allows you to state which kind of Campaign you're building. The field is an enumeration, which can be set to:
  • SEARCH, for the Search Network, including (for campaigns created with older API releases) Search and Display hybrids, and now SNDS campaigns;
  • DISPLAY, for the Google Display Network only;
  • SHOPPING, for Shopping campaigns serving Product Listing Ads on Google and Google Shopping.
Note that an UNKNOWN value can be returned if the value set isn't supported by the called version of the API. This covers situations where new options are added in newer releases.

This table specifies the only valid combinations of parameters for newly created campaigns on the networks that you intend to target.

Networks Targeted by the settings on the right
advertisingChannelType
displaySelect
Enabled networkSettings
Search Network
SEARCH
false
Search Networks only
Search Network with Display Select
SEARCH
true or unspecified
Search & Content networks
Display only
DISPLAY
false or unspecified
Content Network only
Shopping only
SHOPPING
false or unspecified
Search Network only

Any parameter combination other than the above when creating a new campaign or making targeting changes to existing campaigns will be rejected with an OPERATION_NOT_PERMITTED_FOR_CAMPAIGN_TYPE error.

While you can no longer create Search & Display Network campaigns, existing campaigns of this type will remain unchanged. You can identify them by their displaySelect attribute being false, while both the Search and Content Networks are enabled. These campaigns should be migrated to SNDS by setting displaySelect to true.

The advertiserChannelType and isDisplaySelect fields are also present in reporting, so you can see how your Campaigns are configured.

If you have any questions about this change or the AdWords API in general, you can post them on our developer forum. You can also follow our Google+ page for updates about the AdWords API.

Launching a MOOC for data journalism

Mass open online education courses - MOOCS - are transforming education. We’re working with the European Journalism Centre to bring journalism education online, offering a free web data journalism course ‘Doing Journalism with Data: First Steps, Skills and Tools.’

.
More than 14,000 participants have signed up. The course will officially start on May 19, 2014. It is part of the European Journalism Centre’s Data Driven Journalism initiative, which aims to enable more journalists, editors, news developers and designers to make better use of data and incorporate it further into their work. Started in 2010, the initiative provides resources for journalists through DataDrivenJournalism.net, the School of Data Journalism, and the Data Journalism Handbook.

Participants in the new online course will learn the essential concepts and skills to work effectively with data and produce compelling stories under tight deadlines. The line-up of instructors and advisors hails from journalism schools and media outlets around the world. Listen to them introduce themselves below - and enroll in the course.

.

Bringing the Opéra to the Cultural Institute

For the first time, the Google Cultural Institute has been given ‘access all areas’ to one of the world’s most famous Opera Houses: the Palais Garnier in Paris, the setting for The Phantom of the Opera.

Our indoor Street View images feature exquisite detail and allow anyone in the world to tour 11 floors (and 3.7km!) of the Palais Garnier. You can now experience virtually what it’s like to be on stage, backstage, in the rehearsal rooms, the costume room, a hidden lake or even on the roof of the Opéra building, overlooking Paris’ skyline!


View Larger Map

View from the stage (Mezzanine and Orchestra)


View Larger Map

View of the “Grand Foyer”


View Larger Map

View of the ground floor main staircase and “Grand Véstibule”


View Larger Map

View from the “4ème loges”

In our second installment from the Paris Opéra House, we bring you what we think might be the world's first multi-billion pixel image of a ceiling - it's certainly the first one to be captured by our team!

Marc Chagall’s masterpiece in the Opéra Garnier in Paris sits 18 meters above the auditorium seating, with specific light conditions and a concave shape, making it one of our biggest technical challenges to date.

In his riotously colourful modernist work, Chagall pays tribute to the composers Mozart, Wagner, Mussorgsky, Berlioz and Ravel, as well as to famous actors and dancers. And if you look carefully you might even be able to spot famous characters such as Carmen, or the discreet signature of the artist, 18 metres from the ground.

Finally, the Opéra has produced an online exhibition called Le Chemin des Etoiles, with portrait photos and information about more than 80 of its star dancers over the last 74 years.

Google expands Flight Search in Ireland and Poland

Whether you live in Ireland or Poland -- Flight Search on Google makes planning your trips fast and easy. You can now access google.ie/flights and google.pl/flights, or search for flights directly within Google to quickly find, compare and book flights -- and see prices in your local currency and language.

Let’s say you live in Dublin and you’d like to visit Nice, but you’re unsure of the least expensive time to travel. When you click on the departure date field, a calendar pops up with the lowest fare highlighted for each day. You’ll also see the lowest fares graph below the calendar that shows how prices may fluctuate based on the season, holidays or other events. Scrolling through a couple of months you can quickly see that May is a great time to fly.


Once you select your departure and return dates, you’ll be presented with a list of ‘Best flights’; these represent the best tradeoff of convenience and price. You can always view other flights that might be longer or more expensive by scrolling through the summary list or selecting, 'Show all'.
The Ryanair flight at €52 looks perfect. It’s nonstop, short and inexpensive. You can select your return flight, confirm the number of passengers and simply click on the red book button to complete your purchase on Ryanair’s website.


Our goal is to provide you with fast results as you explore where you want to go, figure out the best time to travel, browse a simple list of the most relevant flights and book your trip. We hope you’ll enjoy planning your next trip with Flight Search!

Posted by David Olliges, Product Manager

Source: Google Travel


Support for v201402 Reports in AdWords Scripts

We are announcing support for AdWords API v201402 reports in AdWords scripts. The following new reports are available for use:
  • BID_GOAL_PERFORMANCE_REPORT
  • PAID_ORGANIC_QUERY_REPORT
  • PRODUCT_PARTITION_REPORT
  • SHOPPING_PERFORMANCE_REPORT
You can refer to https://developers.google.com/adwords/api/docs/appendix/reports for the list of supported columns and other details for these new reports.

If you use API versioning in your reports, then you need to modify your code to use v201402 as shown below. If you don’t use API versioning, no code changes are required.


var report = AdWordsApp.report(query, {
apiVersion: 'v201402'
});
If you have any questions about this feature or AdWords Scripts in general, you can post them on our developer forum.

AdWords API users – don’t wait to migrate from ClientLogin to OAuth 2.0!

ClientLogin authentication support for the AdWords API will sunset along with v201309 on July 21st, 2014. But it doesn’t mean you should wait till the last minute to migrate!

We have plenty of resources to help you migrate. It might take longer than expected to migrate to OAuth2, especially if you don't already use a single top-level MCC to manage your AdWords accounts.

Start your migration as soon as possible and reach out to us early on the AdWords API Forum with any questions.