Bid_unit seems to override ENGAGEMENT and LINK_CLICK and change to APP_CLICK. How can we solve this?


#1

Hello,

We are trying to create Tweet Engagement and Website Clicks/Conversions campaigns. One issue that we’re seeing is that when we try and set our bid_unit as ENGAGEMENT for Tweet Engagement campaigns and as LINK_CLICK for Website Clicks/Conversions campaigns, is that the bid_unit is overriding what we post and changing it to APP_CLICK. Do you know how we can avoid this issue? We are also using automatic bidding … so will this field even impact us?

Here is what we are posting as a sample:
when 'ENGAGEMENT’
line_item.objective = TwitterAds::Enum::Objective::TWEET_ENGAGEMENTS
line_item.placements = [TwitterAds::Enum::Placement::ALL_ON_TWITTER]
line_item.optimization = TwitterAds::Enum::Optimizations::DEFAULT
line_item.bid_unit = TwitterAds::Enum::BidUnit::ENGAGEMENT
line_item.bid_type = TwitterAds::Enum::BidType::AUTO
line_item.charge_by = TwitterAds::Enum::ChargeBy::ENGAGEMENT
when 'CONVERSION’
line_item.objective = TwitterAds::Enum::Objective::WEBSITE_CLICKS
line_item.placements = [TwitterAds::Enum::Placement::ALL_ON_TWITTER]
line_item.optimization = TwitterAds::Enum::Optimizations::WEBSITE_CONVERSIONS
line_item.bid_unit = TwitterAds::Enum::BidUnit::LINK_CLICK
line_item.bid_type = TwitterAds::Enum::BidType::AUTO
line_item.charge_by = TwitterAds::Enum::ChargeBy::LINK_CLICK
handle_conversion(line_item)

Everythign above is posting properly but when we look in the UI the one thing that’s not working is the Bid_Unit is being set as App_Click. Please advise!


#2

Hey @jeffcunning

Thanks for bringing this to our attention. It would be helpful for us to have the entire request and response bodies, constructed via twurl. We should be able to investigate further on our end, once we have those details.

Thanks!


#3

We don’t use twurl, but I was able to capture each request and response: Here is for the tweet engagement campaign


request -> POST https://ads-api.twitter.com/1/accounts/18ce54g01j0/campaigns {:name=>“Quantifi-907-7786 Campaign”, :funding_instrument_id=>“nc7uo”, :end_time=>“2017-06-30T00:00:00Z”, :start_time=>“2017-06-26T00:00:00Z”, :paused=>true, :daily_budget_amount_local_micro=>250000000}
response -> {“data_type”:“campaign”,“data”:{“name”:“Quantifi-907-7786 Campaign”,“start_time”:“2017-06-26T00:00:00Z”,“reasons_not_servable”:[“PAUSED_BY_ADVERTISER”,“INCOMPLETE”],“servable”:false,“daily_budget_amount_local_micro”:250000000,“end_time”:“2017-06-30T00:00:00Z”,“funding_instrument_id”:“nc7uo”,“duration_in_days”:null,“standard_delivery”:true,“total_budget_amount_local_micro”:null,“id”:“8t043”,“entity_status”:“PAUSED”,“paused”:true,“account_id”:“18ce54g01j0”,“frequency_cap”:null,“currency”:“USD”,“created_at”:“2017-06-21T13:03:09Z”,“updated_at”:“2017-06-21T13:03:09Z”,“deleted”:false},“request”:{“params”:{“name”:“Quantifi-907-7786 Campaign”,“start_time”:“2017-06-26T00:00:00Z”,“daily_budget_amount_local_micro”:250000000,“end_time”:“2017-06-30T00:00:00Z”,“funding_instrument_id”:“nc7uo”,“paused”:true,“account_id”:“18ce54g01j0”}}}


request -> POST https://ads-api.twitter.com/1/accounts/18ce54g01j0/line_items {:name=>“Quantifi-907-7786 Campaign Line Item”, :campaign_id=>“8t043”, :charge_by=>“ENGAGEMENT”, :objective=>“TWEET_ENGAGEMENTS”, :optimization=>“DEFAULT”, :paused=>false, :product_type=>“PROMOTED_TWEETS”, :placements=>“ALL_ON_TWITTER”, :bid_unit=>“ENGAGEMENT”, :bid_type=>“AUTO”}
response -> {“data_type”:“line_item”,“data”:{“bid_type”:“AUTO”,“advertiser_user_id”:56547173,“name”:“Quantifi-907-7786 Campaign Line Item”,“placements”:[“ALL_ON_TWITTER”],“start_time”:null,“bid_amount_local_micro”:null,“automatically_select_bid”:true,“advertiser_domain”:null,“target_cpa_local_micro”:null,“primary_web_event_tag”:null,“charge_by”:“ENGAGEMENT”,“product_type”:“PROMOTED_TWEETS”,“end_time”:null,“bid_unit”:“ENGAGEMENT”,“total_budget_amount_local_micro”:null,“objective”:“TWEET_ENGAGEMENTS”,“id”:“963ho”,“entity_status”:“ACTIVE”,“paused”:false,“account_id”:“18ce54g01j0”,“optimization”:“DEFAULT”,“categories”:[],“currency”:“USD”,“created_at”:“2017-06-21T13:03:09Z”,“tracking_tags”:[],“updated_at”:“2017-06-21T13:03:09Z”,“include_sentiment”:“POSITIVE_ONLY”,“campaign_id”:“8t043”,“creative_source”:“MANUAL”,“deleted”:false},“request”:{“params”:{“bid_type”:“AUTO”,“name”:“Quantifi-907-7786 Campaign Line Item”,“placements”:[“ALL_ON_TWITTER”],“charge_by”:“ENGAGEMENT”,“product_type”:“PROMOTED_TWEETS”,“bid_unit”:“ENGAGEMENT”,“objective”:“TWEET_ENGAGEMENTS”,“paused”:false,“account_id”:“18ce54g01j0”,“optimization”:“DEFAULT”,“campaign_id”:“8t043”}}}


request ->POST https://ads-api.twitter.com/1/accounts/18ce54g01j0/tweet {:status=>“test body http://klowd.io”, :media_ids=>[“877512249094676480”]}
response -> {“data_type”:“status”,“data”:{“created_at”:“Wed Jun 21 13:03:19 +0000 2017”,“id”:877512254014365697,“id_str”:“877512254014365697”,“text”:“test body https://t.co/1v8hPFYL4i https://t.co/LAMQYQzYQ5",“truncated”:false,“entities”:{“hashtags”:[],“symbols”:[],“user_mentions”:[],“urls”:[{“url”:“https://t.co/1v8hPFYL4i”,“expanded_url”:“http://klowd.io”,“display_url”:“klowd.io”,“indices”:[10,33]}],“media”:[{“id”:877512249094676480,“id_str”:“877512249094676480”,“indices”:[34,57],“media_url”:“http://pbs.twimg.com/media/DC2MvcVXoAAHOd9.jpg”,“media_url_https”:“https://pbs.twimg.com/media/DC2MvcVXoAAHOd9.jpg”,“url”:“https://t.co/LAMQYQzYQ5”,“display_url”:“pic.twitter.com/LAMQYQzYQ5”,“expanded_url”:“https://twitter.com/Gowabash/status/877512254014365697/photo/1”,“type”:“photo”,“sizes”:{“large”:{“w”:2048,“h”:1078,“resize”:“fit”},“medium”:{“w”:1200,“h”:632,“resize”:“fit”},“small”:{“w”:680,“h”:358,“resize”:“fit”},“thumb”:{“w”:150,“h”:150,“resize”:“crop”}}}]},“source”:"\u003ca href=“http://quantifi.ai” rel=“nofollow”\u003equantifiAi\u003c/a\u003e”,“in_reply_to_status_id”:null,“in_reply_to_status_id_str”:null,“in_reply_to_user_id”:null,“in_reply_to_user_id_str”:null,“in_reply_to_screen_name”:null,“user”:{“id”:56547173,“id_str”:“56547173”,“name”:“Matt Brown”,“screen_name”:“Gowabash”,“location”:“Indianapolis, IN”,“url”:null,“description”:“Christ follower, husband, father of 4, software engineer, foodie, MSDLT board member”,“protected”:false,“followers_count”:89,“friends_count”:57,“listed_count”:4,“created_at”:“Tue Jul 14 00:25:03 +0000 2009”,“favourites_count”:1,“utc_offset”:-18000,“time_zone”:“Quito”,“geo_enabled”:false,“verified”:false,“statuses_count”:116,“lang”:“en”,“contributors_enabled”:false,“is_translator”:false,“is_translation_enabled”:false,“profile_background_color”:“131516”,“profile_background_image_url”:“http://abs.twimg.com/images/themes/theme14/bg.gif",“profile_background_image_url_https”:“https://abs.twimg.com/images/themes/theme14/bg.gif”,“profile_background_tile”:true,“profile_image_url”:“http://pbs.twimg.com/profile_images/1977806715/Avatar_normal.jpg”,“profile_image_url_https”:“https://pbs.twimg.com/profile_images/1977806715/Avatar_normal.jpg”,“profile_link_color”:“009999”,“profile_sidebar_border_color”:“EEEEEE”,“profile_sidebar_fill_color”:“EFEFEF”,“profile_text_color”:“333333”,“profile_use_background_image”:true,“has_extended_profile”:false,“default_profile”:false,“default_profile_image”:false,“following”:false,“follow_request_sent”:false,“notifications”:false,“translator_type”:“none”},“geo”:null,“coordinates”:null,“place”:null,“contributors”:null,“retweet_count”:0,“favorite_count”:0,“favorited”:false,“retweeted”:false,“possibly_sensitive”:false,“scopes”:{“followers”:false},“lang”:“en”},“request”:{“params”:{“status”:"test body http://klowd.io”,“media_ids”:[877512249094676480],“account_id”:“18ce54g01j0”}}}


request -> POST https://ads-api.twitter.com/1/accounts/18ce54g01j0/promoted_tweets {:line_item_id=>“963ho”, :tweet_ids=>[877512254014365697]}
response -> {“data_type”:“promoted_tweet”,“data”:[{“line_item_id”:“963ho”,“display_properties”:[],“id”:“1e2t4f”,“paused”:false,“created_at”:“2017-06-21T13:03:20Z”,“updated_at”:“2017-06-21T13:03:20Z”,“approval_status”:“ACCEPTED”,“tweet_id”:“877512254014365697”,“deleted”:false}],“request”:{“params”:{“line_item_id”:“963ho”,“tweet_ids”:[877512254014365697],“account_id”:“18ce54g01j0”}},“total_count”:1}


#4

Hey @Gowabash

I don’t quite see the issue here. The OP mentioned that the issue was with the bid_unit value being over-ridden. Can you please provide an example with this behavior?

Thanks!


#5

If you run the preceding code, then go look at the ad in the UI, it says that the bid unit is set to app_clicks


#6

Hey @Gowabash

Gotcha, I’ve tried creating a similar setup on my personal account, however haven’t been able to replicate the issue. This forum is specific to the Ads API only, and it looks like the response from the API for the line item in question has the correct value of bid_unit

twurl -X GET "/1/accounts/18ce54g01j0/line_items/963ho"

{
  "request": {
    "params": {
      "line_item_id": "963ho",
      "account_id": "18ce54g01j0"
    }
  },
  "data_type": "line_item",
  "data": {
    "bid_type": "AUTO",
    "advertiser_user_id": 56547173,
    "name": "Quantifi-907-7786 Campaign Line Item",
    "placements": [
      "ALL_ON_TWITTER"
    ],
    "start_time": null,
    "bid_amount_local_micro": null,
    "automatically_select_bid": true,
    "advertiser_domain": null,
    "target_cpa_local_micro": null,
    "primary_web_event_tag": null,
    "charge_by": "ENGAGEMENT",
    "product_type": "PROMOTED_TWEETS",
    "end_time": null,
    "bid_unit": "ENGAGEMENT",
    "total_budget_amount_local_micro": null,
    "objective": "TWEET_ENGAGEMENTS",
    "id": "963ho",
    "entity_status": "ACTIVE",
    "paused": false,
    "account_id": "18ce54g01j0",
    "optimization": "DEFAULT",
    "categories": [],
    "currency": "USD",
    "created_at": "2017-06-21T13:03:09Z",
    "tracking_tags": [],
    "updated_at": "2017-06-21T13:03:09Z",
    "include_sentiment": "POSITIVE_ONLY",
    "campaign_id": "8t043",
    "creative_source": "MANUAL",
    "deleted": false
  }
}

Given that this issue seems UI specific I’d recommend using the support link on the ads.twitter.com UI to get in touch with the right folks.

Thanks!