PromotedTweet取得時の503エラーについて


#1

@JBabichJapan

お世話になっております。

promoted_tweets取得のAPIを利用して
毎日、最近変更のあったものを自社のシステムで取込しているのですが
ここ最近特定のアカウントだけ503が頻繁に返ってきてしまっています。

具体的なURLとパラメータは以下のものです。

twurl -t -H "https://ads-api.twitter.com" "/3/accounts/{accountId}/promoted_tweets?count=1000&sort_by=updated_at-desc&with_deleted=true" | jq

レスポンスは以下となります。

{
  "errors": [
    {
      "code": "SERVICE_UNAVAILABLE",
      "message": "Service unavailable due to request timeout; please try the request again later"
    }
  ],
  "request": {
    "params": {}
  }
}

少し時間をあけてからリトライしてみても変わらず、80%くらいの確率で503が出てしまいます。

この事象は10日前くらいから発生しており、それより前には発生していませんでした。
大変お手数ですが、ご確認および解決方法があれば教えていただけますでしょうか。
参考情報としまして対象のaccountIdが保持しているpromoted_tweetの数は 150,000件ほど保持しています。

こちらで取れるまでリトライする実装をすることは可能なのですが、延々と503が出てしまうため、取込処理の終わる時間・後続の業務がいつから出来るのかというところの目処が立たず悩んでいます。

必要であればアカウントIDを連携しようと思いますが、ここ(publicな場所)では記述出来ないため、連携方法を教えていただければと思います。


#3

@ktym さん、お問い合わせありがとうございます。私のDM https://twitter.com/JBabichJapan のところに詳細を送っていただいても大丈夫ですが、このエンドポイントはツイート量があまりにも多いとエラーが返ってしまうことは確かにあります・・ツイート量が多い背景なども教えていただければ役に立ちます・・実は同じ文章・画像の重複してるツイートが多いと、プラットフォーム(オーガニックの方のスパム対策とか)のところで引っかかって凍結とかそういうこともありますのでご注意してください。最適化のところでDR系のキャンペーンですとオークションの影響が悪影響とかも理論的に考えられます(どのツイートにインプをたくさん送ればいいかあまり把握できないままになるとか長い歴史があった方がいいかどうかみたいな問題です)


#4

@JBabichJapan
ご回答ありがとうございます。

確認したところ
promoted_tweet:150,000件に対してその中で利用しているtweetは1,500件くらいで
promoted_tweetの量が多く、運用している年数を考えるとtweet量は多くないと思いました。

何故このtweetの件数でこれだけのpromoted_tweetの量があるか確認したところ
1つのクリエイティブ(tweet)を作成した場合、
複数の配信方法やターゲティング(campaign、lineItem)をかなり細かく分けて
同じtweetを設定している様でした。
同じtweetでもlineItemを分けるとpromoted_tweetが別のものになるため、それでpromoted_tweetの件数が多くなっている様です。

イメージだと
ターゲティング(lineItem)
Android男性20代
Android男性30代
Android女性
iOS
男性
iOS*女性
キーワード:サッカー
キーワード:野球
・・・
と、いうような形で分けてline_itemを作成しているようなイメージです。

もちろんまとめて1つのlineItem(promoted_tweet)でターゲティングを設定することは出来ますが、
別々に設定することで、成果が別々に取得出来るため、どのターゲティング設定の成果が良いか・悪かったかを分析し次の配信で活かすために分けている様です。

今私の方で確認したい点が3点あります。
・ツイート量が多いわけではないという認識なのですが、スパム扱いになってしまうのか
→急にアカウント凍結になるとかなり困るため

・複数のターゲティングを1つのline_item(promoted_tweet)に設定した場合、ターゲティング1つ毎の成果CTR,CPC等(impression,cost,click等)Analyticsで取得する方法があるか
→これが出来れば今の様な運用をしなくても1つのline_itemに全てのターゲティングを設定する方法で済みそうですが、私が知っている範囲であればAnalyticsの最小粒度はpromoted_tweetとなっており、promoted_tweet*ターゲティング別でAnalyticsは取得できないかと思っています。

・現状promoted_tweetのAPIが503になってしまうので解決する方法があるか
→取得したいものは全件ではなくupdate_atが2,3日分のものが取れれば十分なので(毎日取得しているため)パラメータを変えることで503が出なくなる方法があれば教えていただければと思っています。
もし今後運用方法を変えたとしても現状503になってしまう部分を解決しないと、総件数は少しずつ増えていくためAPIを利用してpromoted_tweetを取得することができない

以上となります。お手数ですがご確認いただければと思います。


#5

こちらですが
パラメータのcountを1にしたり、sort_byを外したりしてみたのですが、それでも503が出てしまったため、
対象の母数が減らないと解決しなさそうだったため、パラメータのline_item_idsを使って分割して取得するようにしたところ503が出なくなりました。
この対応で進めたいと思います。