понедельник, 1 декабря 2008 г.

Общие ошибки, приводящие к отказам SOAP (Часть IV)

Добро пожаловать в четвертую часть серии статей, в которых даются советы и подсказки, как решать возникающие с SOAP проблемы. AdWords API базируется на службе SOAP и обращается к ней. В тоже время, иногда очень трудно отлаживать отказы SOAP. В прошлой статье обсуждались ошибки, связанные со случаем «операция не существует». В этой статье будут рассмотрены ошибки SOAP, связанные с проверкой. Предыдущие статьи находятся здесь: статья 1, статья 2, статья 3.

Отказы проверки

В этом случае Вы получаете сообщение об ошибке «Один или несколько переданных элементов не прошли проверку» («One or more input elements failed validation») – код ошибки 122. В этом случае в ответе детализируются поля, содержащие последовательность элементов ApiError с элементами найденных ошибок. Могут быть приведены следующие поля:
  • index: указывается индекс элемента в исходном массиве, который вызвал ошибку;
  • code: указывается тип ошибки;
  • field: имя поля исходного элемента, которое содержит ошибку;
  • trigger: строка с описанием ошибки;
  • isExemptable: булева переменная, которая показывает возможность освободиться от ошибки. По умолчанию – «false»;
  • textIndex: место в тексте, вызвавшее ошибку;
  • textLength: длина строки, которая привела к ошибке;
  • detail: описание ошибки.
Общая ошибка, которая попадают в эту категорию, это ошибка нарушения Политики объявлений. Вы получите сообщение «Указанный текст нарушает политику Google» («The text specified for this Creative violates Google policy») – код ошибки 21, при попытке добавить объявление, не соответствующее Политике объявлений Google. Чтобы избежать этой ошибки, проверяйте объявления, используя checkAds(), на их соответствие Политике объявлений Google, и, только потом, добавляйте, используя addAd(). Если объявление нарушает политику, то checkAds() должна возвратить последовательность объектов ApiError, которые описывают нарушения политики. Вы можете, таким образом, проверить поля, которые вызвали нарушения политики. Кроме того, некоторые нарушения могут освобождаться, если флаг isExemptable установлен в «true». В этом случае Вы можете запросить освобождение от политики и добавить свое объявление.

В следующей статье будут рассмотрены ошибки, возникающие при синхронизации аккаунтов или при выполнении одновременных запросов к AdWords API.


Автор: Anash Oommen

Общие ошибки, приводящие к отказам SOAP (Часть III)

Добро пожаловать в третью часть серии статей, в которых даются советы и подсказки, как решать возникающие с SOAP проблемы. AdWords API базируется на службе SOAP и обращается к ней. В тоже время, иногда очень трудно отлаживать отказы SOAP. В прошлых статьях обсуждались ошибки, связанные с неправильным идентификатором разработчика и отсутствием заголовка, которые могут привести к отказу SOAP. В этой статье будут рассмотрены ошибочные операторы и методы.

Операция не существует

Также разработчики могут получать сообщение об ошибке «Тело запроса не содержит оператора или указанного оператора не существует» («The request body did not contain an operation or the specified operation does not exist») – код ошибки 116.
  • Наиболее очевидной ошибкой является то, что вызываемый метод не существует. Это может произойти из-за опечатки в имени метода в запросе к SOAP, например GetAccountInfo вместо getAccountInfo. Это также может произойти, если Ваш запрос к SOAP обращается к несуществующей веб-службе.
  • Вы можете также получить эту ошибку, если неправильно указали пространство имен для Вашего метода. Например, указанно ниже обращение к https://adwords.google.com/api/adwords/v12/AccountService вызовет ошибку:
<soap:Body>
    <getAccountInfo xmlns="https://adwords.google.com/api/adwords/v11"/>
  </soap:Body>

AdWords API будет игнорировать все идентификаторы, которые не входят в пространство имен, и сообщит об ошибке.

В следующей статье будут изучены ошибки, связанные с проверкой ошибок и политикой.


Автор: Команда AdWords API

воскресенье, 30 ноября 2008 г.

Magento – интеграция с Website Optimizer

26 ноября было объявлено об интеграции Website Optimizer с Magento. Magento – платформа с открытым исходным кодом для электронной торговли. Недавно была выпущена версия 1.1.7, которая включает в себя интеграцию с Website Optimizer. Чтобы создать свой эксперимент, Вам надо вырезать URL из Website Optimizer и вставить его в Magento, и Ваш эксперимент готов. Это делает Magento очень простым инструментом для тестирования нового содержания (например, описание продукта и изображения), чтобы понять, что именно является привлекательным для потенциальных клиентов.

В обучающем видео (английский язык) показано, как создавать эксперименты в интеграции с Website Optimizer:



Оригинал: GWO + Magento = A-OK...O

Автор: Trevor Claiborne

Новый блог про AdWords

Два месяца назад заработал официальный блог про AdWords на русском языке. Первая запись (анонс открытия блога) в нем датируется 28 сентября и уже есть несколько интересных сообщений:
Кроме того, 14 ноября был первый анонс онлайн-семинара по теме «Кредитная линия в AdWords». Онлайн семинары проводятся бесплатно и обладают неоспоримым преимуществом перед обычными семинарами, так как Вам не надо тратить время на поездки, достаточно подключиться к нему.

Призываю своих читателей тоже стать читателями официального блога AdWords на русском языке, чтобы получать из первых рук официальную информацию. Отписываться от этого блога я не советую, так как в моем блоге будут продолжать разбираться вопросы рекламы в AdWords, которые по различным причинам еще не получали своего внимания в официальном блоге.

среда, 26 ноября 2008 г.

Советы: Практическое использование Display ad builder

На прошлой неделе сообщалось о развитии инструмента Display ad builder. Здесь же будет рассказано о некоторых практических способах использования этого инструмента. Надеюсь, что эти советы помогут Вам в запуске Ваших новых кампаний:

Ваши объявления должны выделяться. Вот как можно добиться этого:
  • Выберите цветовую гамму объявления, цвет фона и шрифта, чтобы привести их в соответствие с Вашим уникальным продуктом и брендом.
  • Подберите для текста и изображений оптимальные размеры с учетом политики AdWords. Попробуйте все имеющиеся размеры объявлений для каждого шаблона, чтобы текст был читаемым, и изображения соответствовали объявлению. Загрузите изображения и логотипы, которые соответствуют политике AdWords, для своего объявления.
  • Попробуйте различные шаблоны. Вы, вполне, можете найти такой, который дает наилучшее отображение Вашего объявления.
  • Попробуйте прозрачные изображения в PNG. Они могут сделать Ваше объявление более профессиональным на соответствие фона изображения и объявления.
Попробуйте разделить Ваши объявления по группам объявлений. Это позволит Вам:
  • Устанавливать раздельные ставки для показа объявлений. Например, Вы можете установить более высокую ставку для объявлений с высокой конкуренцией, так как это позволит показывать Ваше объявление чаще других, конкурирующих с ним объявлений.
  • Используйте уникальные ключевые слова для показа Ваших графических объявлений, которые не влияют на эффективность Ваших текстовых объявлений, особенно тех, которые работают в партнерской сети Google.
Несколько раз проверьте Ваши объявления, чтобы они отвечали следующим критериям:
  • Отображаемый URL должен быть виден. Если он имеет тот же или близкий цвет, что и фон объявления, то он не будет виден пользователю.
  • Загружаемые изображения должны быть менее 50 Кб. Иначе Ваше объявление не будет допущено к показам.
Теперь, когда Вы вооружены советами по созданию эффективных графических объявлений, попробуйте инструмент Display ad builder и оставьте о нем свой отзыв. Узнать больше об этом инструменте Вы можете на сайте Display ad builder.


Автор: Emel Mutlu

Советы к праздничному сезону: Display ad builder

Вы, вероятно, уже слышали про бесплатный инструмент AdWords Display ad builder, который позволяет быстро и легко создавать графические объявления. В праздники, для ритейлеров и бизнесов ориентированных на клиентов, особенно важно подчеркнуть в рекламе свои продукты и создать новые объявления на основе своего предложения и спроса покупателей. Display ad builder может помочь Вам в этом, без необходимости трат на профессионального дизайнера и без затрат на время.

Вот несколько идей о том, как использовать инструмент Display ad builder и графические объявления для продвижения своих продаж:
  • Создайте графическое объявление для товара с высоким уровнем спроса и используйте текст, который подчеркнет преимущества товара, особенно в праздничный сезон. Например, если у Вас есть спрос на особый букет цветов (например «Корзина гербер»), то используйте в объявлении такой образ, который побудит покупателя запомнить товар и купить его именно в Вашем магазине.
  • Создайте несколько разных объявлений для праздничного сезона, чтобы Вы могли оперативно реагировать на меняющийся уровень спроса.
  • Используйте изображения для товаров, если они продаются не очень хорошо. Это может навести покупателей на мысль, что в праздничный сезон это товар с высоким уровнем спроса. Изображения могут напомнить покупателям об их потребностях, например, то могут быть товары для дома или различные гаджеты, которые могут быть хорошей идеей для подарка, но при этом они активно не рекламируются.
  • Используйте праздничные изображения и подложки для создания тематических объявлений. Например, в праздничный сезон используйте в графических объявлениях изображения, которые передают поздравления или подчеркивают какие-либо специальные предложения.
Если Вы хотите узнать больше про Display ad builder и графические объявления, то Вы можете посетить сайт Display ad builder и посмотреть видео-урок по нему.


Автор: Vivek Tata

вторник, 25 ноября 2008 г.

Общие ошибки, приводящие к отказам SOAP (Часть II)

Добро пожаловать во вторую часть серии статей, в которых даются советы и подсказки, как решать возникающие с SOAP проблемы. AdWords API базируется на службе SOAP и обращается к ней. В тоже время, иногда очень трудно отлаживать отказы SOAP. В последней статье обсуждалось, что делать при возникновении ошибки SOAP «Неправильный идентификатор разработчика» («Invalid Developer Token»). Здесь будут обсуждаться действия при ошибочных заголовках запросов к SOAP.

Отсутствие заголовка

Новички в разработке с AdWords API могут получать сообщение об ошибке «Клиентский запрос не содержит [тип заголовка] заголовок» («The client request did not contain a [header type] header») – коды ошибок 1, 2, 8…
  • Если Вы получили эту ошибку, то наиболее очевидной причиной является то, что Вы не упомянули требуемого для SOAP заголовка в своем XML вызове. Каждый запрос к SOAP требует следующих заголовков: «email», «password», «developerToken», «applicationToken», «useragent». Кроме того, Вам может потребоваться заголовок «clientEmail» или «clientCustomerId» в зависимости от используемого метода API.
  • Другая возможная причина получения этой ошибки состоит в том, что Вы упомянули все необходимые заголовки, но использовали ошибочное пространство имен XML в своем XML. Например, если Вы отправляете заголовок запроса, описанный ниже, к https://adwords.google.com/api/adwords/v12/AccountService , то должны получить ошибку отсутствия заголовка email.
<soap:Header>
   <email xmlns="https://adwords.google.com/api/adwords/v11">ваш_e-mail</email>
   <!--more nodes-->
</soap:Header>
  • Наилучший способ решения этой проблемы состоит в том, чтобы включать в SOAP XML проверку Ваших запросов XML к SOAP для ошибочных значений заголовков. Хорошо сформированный запрос к SOAP выглядит примерно так:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Header>
     <applicationToken xmlns="https://adwords.google.com/api/adwords/v12">INSERT_APPLICATION_TOKEN_HERE</applicationToken>
     <developerToken xmlns="https://adwords.google.com/api/adwords/v12">INSERT_DEVELOPER_TOKEN_HERE</developerToken>
     <email xmlns="https://adwords.google.com/api/adwords/v12">INSERT_YOUR_EMAIL_HERE</email>
     <password xmlns="https://adwords.google.com/api/adwords/v12">INSERT_YOUR_PASSWORD_HERE</password>
     <useragent xmlns="https://adwords.google.com/api/adwords/v12">INSERT_YOUR_USERAGENT_HERE</useragent>
   </soap:Header>
   <soap:Body>
     <getAccountInfo xmlns="https://adwords.google.com/api/adwords/v12"/>
   </soap:Body>
</soap:Envelope>

Если Вы используете образцы исходного кода AdWords API, то заголовки содержатся в самом исходном коде. Если Вы используете клиентские библиотеки AdWords API, то, чаще всего, заголовки находятся в соответствующих конфигурационных файлах. Клиентская библиотека .NET использует app.config, клиентские библиотеки Java и Ruby используют файл adwords.properties, APIlity использует authentication.ini для хранения значений заголовков. Библиотека Python использует auth.pkl. Вы можете просмотреть эти файлы и увидеть в них необходимые заголовки. Наконец, все клиентские библиотеки имеют соответствующий конструктор, который может принять необходимые заголовки при инициализации библиотеки, так что Вам требуется при ошибке проверять также код инициализирующий библиотеку.

В следующий раз будут изучены ошибки, связанные с ошибочными операторами и методами API.


Автор: Anash Oommen

Общие ошибки, приводящие к отказам SOAP (Часть I)

AdWords API базируется на службе SOAP и обращается к ней. В тоже время, иногда очень трудно отлаживать отказы SOAP. Было бы полезно описать наиболее распространенные ошибки, приводящие к отказам SOAP, с которыми сталкиваются разработчики на AdWords API. В дальнейшем будет опубликован ряд статей по этой теме. Надеюсь, что разработчикам это окажется полезным.

Неправильный идентификатор разработчика (Invalid Developer Token)

Наиболее распространенная ошибка, с которой сталкиваются разработчики в первые обращаясь к API «The developer token is invalid» («Неправильный идентификатор разработчика») – код ошибки 42. Есть несколько основных причин, благодаря которым Вы можете получить эту ошибку.
  • Если Вы впервые делаете обращение к API, то убедитесь, что обращение происходит в аккаунте рабочей среды (adwords.google.com), а не в песочнице AdWords API (sandbox.google.com). Образец кода API по умолчанию настроен для отправки запроса в аккаунте песочницы, а не рабочей среды. Таким образом, если Вы программируете, используя примеры кода, то, вероятнее всего, это стало причиной ошибки.
  • То же самое, если Вы используете клиентские библиотеки AdWords API, то по умолчанию они настроены для отправки запросов в песочнице AdWords API. Если Вы используете клиентские библиотеки Java, .NET или Ruby, убедитесь в том, что в секции аттестата пользователя конфигурационного файла (adwords.properties или app.config) не сипользуется ключ «alternateUrl». Для библиотеки Apility, убедитесь, что в файле settings.ini ключ Use_Sandbox установлен в «No». Для клиентской библиотеки Python, убедитесь, что Вы не инициализируете аргумент server="'https://sandbox.google.com'", при инициализации класса службы. Кроме того, каждая библиотека имеет соответствующий конструктор, который принимают аттестат в качестве параметра инициализации библиотеки. Убедитесь, что при инициализации Вы не передаете «alternateUrl». Наконец, некоторые библиотеки могут предоставлять вспомогательные функции (например, клиентская библиотека .NET предоставляет useSandbox()), которая позволяет Вам переключаться между рабочей средой и песочницей во время выполнения. Убедитесь, что эти функции не используются в Вашем коде.
  • Менее распространенной, но более очевидной, причиной этой ошибки, является то, что признак разработчика в Вашем коде является недействительным. Шансы этого случая небольшие, поскольку большинство разработчиков копируют свой признак из аккаунта MCC. Однако, это может произойти, если Вы по ошибке поменяли заявку и признак разработчика, или если Вы сбросили признак разработчика в своем аккаунте, но забыли обновить код. Неоднократная проверка кода, должна помочь Вам обнаружить место ошибки в коде.
В следующий раз мы изучим ошибки, связанные с ошибочными заголовками в запросах SOAP. Следите за дальнейшими сообщениями.


Автор: Anash Oommen

понедельник, 24 ноября 2008 г.

Использование отчетов Google Analytics в AdWords

Созданные в Google Analytics отчеты могут быть использованы дважды: во-первых, они используются для принятия решения о том, как оптимизировать Ваш сайт, во-вторых, эти отчеты можно использовать для создания эффективных кампаний в AdWords.

Отчет «Сайты источники» («Referring Sites») в Google Analytics поможет Вам найти подробную информацию о веб-страницах, которые приносят трафик на Ваш сайт. Просматривая этот отчет, Вы можете найти сайты, которые приносят именно потенциальных клиентов. Это идеальные сайты для размещения объявлений.

Импортируйте сайты источники из Analytics в кампании нацеленные на места размещения в AdWords. Таким образом, Вы сразу ориентируете свои объявления на пользователей, которые сочтут их актуальными. Для получения более подробной информации о том, как выполнять импорт сайтов источников из Analytics в AdWords, посмотрите это короткое видео.




Автор: Will Crew

Проект: AdWords API Local Database Sync

В сентябре был анонсирован проект AdWords API Local Database Sync. Скрипты из этого проекта могут быть использованы для создания отчетов в AdWords API, сохранения результатов в локальной базе данных (используется SQLite) и выполнения запросов к этой базе данных.

Одна из рекомендаций, из перечисленных в статье «AdWords API: Top Ten Practices», состояла в хранении всего аккаунта AdWords в локальной базе данных и поддержании этой базы данных в актуальном состоянии при помощи AdWords API. Запросы к локальной базе данных имеют преимущество в скорости и цене перед запросами AdWords API, особенно для ответов на на вопросы типа «Как много активных кампаний создано во всех моих аккаунтах AdWords?» Поддержка истории в локальной базе данных может также помочь Вам ответить на такие вопросы, на которые AdWords API не сможет дать ответ, например: «Какие ключевые слова были изменены в аккаунте в течение последней недели?». С AdWords API Local Database Sync Вы сможете получить ответы на подобные вопросы.

Некоторые технические подробности: Скрипты написаны на Python и сипользуют библиотеки SOAPpy для доступа к службе AdWords API SOAP. Код на Python использует API dbapi2, и по умолчанию использует реализацию SQLite для сохранения данных в файле базы данных SQLite в локальной файловой системе. Есть возможность замены библиотек SQLite на библиотеку другой базы данных, которая поддерживает dbapi2.

Хотя, возможно, некоторые разработчики уже написали собственный код синхронизации локальной базы данных с AdWords, но в AdWords хотят дать автономное решение с открытым исходным кодом для тех разработчиков, которые еще не имеют такой работающей системы. В AdWords также надеются на то, что открытый код послужит примером создания и анализа отчетов AdWords API, что может быть полезно разработчикам с уже работающими системами синхронизации.

Посетите этот проект на Google Code и попробуйте его!


Автор: Jeffrey Posnick