リスティング広告運用者必見!猿でも分かるアドワーズスクリプト講座 Vol.4

アドワーズスクリプトについて、プログラムを組んでエラーが出た場合の対処法をサンプルを踏まえてお教えしたいと思います。前回の「リスティング広告運用者必見!猿でも分かるアドワーズスクリプト講座 Vol.3」も参照ください!
皆さんこんにちは、
粘り強い守備で何とかアジアカップの頂点を手にした
なでしこジャパンに感動している千藤です。
終始オーストラリアペースでヒヤヒヤしましたが、
さすがは「なでしこ」でしたね!
やってくれました!
さて今回は実際にプログラムを組んでみて、
エラーが出てきた場合の対処法について
サンプルを踏まえてお教えしたいと思います。
前回のブログを見ていない方はこちらを見てくださいね!
今回のサンプルプログラムは
対象アカウントの目標CPAを〇〇倍超過しているキャンペーンを見つけ
対象のキャンペーンが存在したらメールでお知らせする
というプログラムを組みました。
では、ソースコードを基に
実際に作成している中で色々エラーがありましたので
そのエラー内容をご紹介いたしますね。
キャプチャ1.JPG
こちらのサンプルは
目標CPAを「1000」円と設定して、
「1000」円のCPAを1.5倍にした
「1500」円以上のキャンペーンがあった場合、
メールに対象キャンペーンの内容を送信する処理をしております。
実際にスクリプトを実行すると、
以下のようにメールが届くようになっております。
キャプチャ2.gif
では私が実際に起こしたエラーコードは以下になります。
ちなみにエラーの内容を表示したい場合は
「結果をプレビュー」から「ログ」を選択して頂けると
エラーコードが表示されます。
キャプチャ3.gif
エラーコード-------------------------------------
バグ1.JPG
バグ2.JPG
↓下記エラーメッセージは長いので画像キャプチャは途中で割愛させていただきました。
バグ3.JPG
↓下記エラーメッセージに関してはログに表示されず、画面中央上部に表示されます。
バグ4.JPG
-------------------------------------------
それでは1番上のエラー内容からご説明いたしますね。
■ReferenceError: “constcpa” is not defined. (line 29)
この内容は29行目にある「constcpa」が定義されていない
というエラーです。
9行目で「constCpa」と変数を定義しているのですが
大文字と小文字を書き間違えてしまい、
存在していない変数を使用したことがエラーの要因でした。
■TypeError: Cannot find function hasnext in object [CampaignIterator]. (line 22)
こちらも22行目でcampIteのメソッドである
「hasNext」というメソッドがあるのですが、
そのメソッドを書き間違えて「N」「n」と記述したことによる誤りです。
■Date range MONTH is invalid. Valid values: TODAY, YESTERDAY, LAST_7_DAYS, THIS_WEEK_SUN_TODAY, …
こちら割愛させていただいたエラーメッセージですが、
THIS_WEEK_SUN_TODAY」から先は以下になります。
THIS_WEEK_MON_TODAY,LAST_WEEK,LAST_14_DAYS,LAST_30_DAYS,LAST_WEEK,LAST_BUSINESS_WEEK,LAST_WEEK_SUN_SAT,THIS_MONTH,LAST_MONTH,ALL_TIME (line 25)
これは25行目にあるgetStatsForの値、
「MONTH」が存在しないというエラーです。
getStatsFor()という関数は期間を取り出すメソッドで、
( )の中には期間を指定するのですが、
「MONTH」という期間が存在しなく起きたエラーです。
このエラー文は非常に役に立ち、サイトで調べても今月を取得する方法が
どうしても見つからなかったので「MONTH」という文字列を入れました。
結果として、「MONTH」は存在しないが、
「TODAY, YESTERDAY, LAST_7_DAYS…」なら存在しますよ
というエラー内容が表示されましたので
そこで「THIS_MONTH」に着目し今月の取得が分かったわけですね。
親切なエラーメッセージでとても助かりました。
■Illegal character.(行 36)
これは36行目にプログラムには認識できない文字
列があります
というエラー内容です。
今回は文字列をプログラム上に表示するには、
「”テスト”」と【半角のダブルクォーテーションで囲まなくてならない】のですが、
【全角のダブルクォーテーションで囲ってしまったのが原因】です。
このエラー、実は結構「あるある」です!!
ですので、エラーを出したところで気を悪くしないでくださいね。
その他、
■Missing ; before statement.
前後の構文に、演算子記号が不正などのエラーが発生している。
■Failed to read from Adowords. Please wait abit and try again.
SQLの構文に不正な値がある、設定ミスしている場合などに表示されるエラー。
■Exceeded maximum execution time
プレビューの実行時間が30秒を超えたときに発生するメッセージ
など、エラーメッセージの内容がございますが、
実は多くのエラーは、半角と全角文字、記号の違い
スペースの有り無しが問題であることが多いんですね。
特にAdwordsScriptは
まだまだ出来ることが少ないこともあり、
難しいエラーはあまり表示されませんのでご安心を。
これからプログラムを始めてみたい方には
打ってつけだと思います。
今後は機能が拡張されていき、
使えたら絶対便利なモノなのでマスターすることをお薦めいたします!!
最後に補足ですが、
エラーコードが起きた場合スクリプトは実行していないのでご安心を
中途半端に動いたりしないのでエラーコードの順を追って解決すれば
何とかなりますよ。
いかがだったでしょうか?
できるだけ短く分かりやすく皆様にお伝えしたつもりですが
興味など持って頂けたでしょうか?
特に今回の要点は、
エラーは起こしてナンボのもの。エラー文をしっかり読んで
間違いを正したらプログラムは絶対動く!
ということを頭に置いた上で
プログラミングを楽しんで頂ければと思います。
以上となります。
今回でスクリプトシリーズは一旦ストップし、
別の話題を公開できればと考えておりますので
皆さま楽しみにしてくださいね!!

Web広告でコンバージョン数を最大化する7つの極意をプレゼント!

「Web広告マーケティング大全」
(無料・PDFでのダウンロード)

2018年9月発行の書籍「コンバージョンを最適化する7つの極意」の元となった、電子書籍「Webマーケティング大全」を無料でダウンロードいただけます。
(PDF・全161ページ)

無料でPDFファイルをダウンロードする
(全161ページ)
Web公告マーケティング大全

関連記事一覧