Google 広告スクリプト フォーラムで最も一般的な問題をまとめたものです。
一般的な JavaScript の問題
「関数 FUNCTION_NAME が見つかりません」というエラーでスクリプトが失敗する
こうした問題の多くは、スクリプトの関数名のスペル間違いが原因のようです。
関数名のスペルやスペルに間違いがないか確認します(例:
AdsApp.keywordz()
は、keywordz
が AdsApp クラスの有効な関数ではないため、このエラーが発生します。また、keywords()
関数のスペルミスが原因で、AdsApp.Keywords()
も失敗します。関数が存在することを確認します。例:
AdsApp.keywords()
がKeywordSelector
を返すのに対し、next()
はKeywordIterator
オブジェクトのメソッドであるため、AdsApp.keywords().next()
は失敗します。正しいコードはAdsApp.keywords().get().next()
です。
スクリプトは実行されるが、何の処理も実行されない
この問題の最も一般的な理由は、オペレーションを行う関数があるが、main()
メソッドから呼び出していないことです。これは、ドキュメントからコード スニペットをコピーして貼り付けたときによく発生します。
コーディングのアプローチ | コード スニペット |
---|---|
バージョン 1(動作しない) |
function main() { // Call to getAllCampaigns is missing, so this script does nothing. } function getAllCampaigns() { // AdsApp.campaigns() will return all campaigns that are not // removed by default. let campaignIterator = AdsApp.campaigns().get(); console.log('Total campaigns found : ' + campaignIterator.totalNumEntities()); while (campaignIterator.hasNext()) { let campaign = campaignIterator.next(); console.log(campaign.getName()); } } |
バージョン 2(動作しない) |
function main() { // Call to getAllCampaigns is missing, so this script does nothing. function getAllCampaigns() { // AdsApp.campaigns() will return all campaigns that are not // removed by default. let campaignIterator = AdsApp.campaigns().get(); console.log('Total campaigns found : ' + campaignIterator.totalNumEntities()); while (campaignIterator.hasNext()) { let campaign = campaignIterator.next(); console.log(campaign.getName()); } } } |
バージョン 3(機能する) |
function main() { getAllCampaigns(); } function getAllCampaigns() { // AdsApp.campaigns() will return all campaigns that are not removed // by default. let campaignIterator = AdsApp.campaigns().get(); console.log('Total campaigns found : ' + campaignIterator.totalNumEntities()); while (campaignIterator.hasNext()) { let campaign = campaignIterator.next(); Logger.log(campaign.getName()); } } |
スクリプトを更新すると、「関数 getFinalUrl が見つかりません」というエラーが表示される
このエラーは、スクリプトを変更して改良版 URL を処理するときに発生することがあります。この状況は、ad.getDestinationUrl()
の呼び出しを ad.getFinalUrl()
に置き換えた場合に発生します。getFinalUrl()
は AdUrls クラスの一部であるため、コードを ad.urls().getFinalUrl()
に変更する必要があります。
function main() {
// Incorrect snippet. getFinalUrl is not a member of the Ad class.
let ad = AdsApp.ads().get().next();
let url = ad.getFinalUrl();
// Correct snippet.
let ad = AdsApp.ads().get().next();
let url = ad.urls().getFinalUrl();
}
X の統計情報を取得できない
特定のエンティティや日付範囲のデータが返されない問題は、レポートの実行や統計情報の呼び出しの際に多く発生します。次の方法をお試しください。
統計情報の取得やレポート実行の対象となる日付範囲を見直す。
異なる通貨のアカウントを管理するアド マネージャー スクリプトのアカウント単位の統計情報を取得すると、MCC アカウントの通貨で費用を取得できます。
必要なデータが Google 広告 に反映されていない場合があります。詳しくは、データの更新に関するガイドをご覧ください。
機能リクエスト
機能 X は提供されていますか?
リファレンス ドキュメントをご確認ください。
機能 X はいつ提供されますか?
Google では、最もリクエストの多かった機能から実装作業に着手しています。表示する機能がある場合は、次の手順を行います。
まず、リファレンス ドキュメントで、この機能が Google 広告スクリプトでサポートされていないことを確認します。
使用できない場合は、Google 広告スクリプト フォーラムを検索して、この質問が以前行われていないかを確認します。「はい」の場合は、そのスレッドに賛成してください。ユースケースなどの詳細を共有したい場合は、コメントを残してください。
まだ機能がリクエストされていない場合は、Google 広告スクリプト フォーラムで新しいスレッドを作成して、機能をリクエストしてください。この機能によって解決されるユースケースを提供してください。可能であれば、この機能について説明するヘルプセンターのガイドや AdWords API ブログ投稿 / リンクを含めます。これは、他のデベロッパーが機能リクエストに同意する際に役立ちます。機能リクエストは、人気度に基づいて優先順位付けされます。
投稿を「機能リクエスト」としてタグ付けすると、Google もユーザーも、簡単に機能リクエストを確認できるようになります。
機能 X の使用方法を教えてください
特定の機能の使用方法の例については、コード スニペットとソリューションをご覧ください。適切なコード スニペットが見つからない場合は、お気軽にフォーラムでリクエストしてください。