Skip to content

Commit

Permalink
fix add_keyword_plan and generate_keyword_ideas (#218)
Browse files Browse the repository at this point in the history
* minor fix for get_ad_groups

* re-raise exception caught in the main

* fix add_keyword_plan and generate_keyword_ideas

* fix add_keyword_plan and generate_keyword_ideas

Co-authored-by: Fei Xiang <[email protected]>
  • Loading branch information
xflesym and xflesym authored Aug 6, 2020
1 parent d9bc368 commit cb5610d
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 32 deletions.
63 changes: 32 additions & 31 deletions examples/planning/add_keyword_plan.rb
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ def add_keyword_plan(customer_id)
customer_id,
plan_campaign,
)
create_keyword_plan_keywords(client, customer_id, plan_ad_group)
create_keyword_plan_negative_keywords(client, customer_id, plan_campaign)
create_keyword_plan_ad_group_keywords(client, customer_id, plan_ad_group)
create_keyword_plan_negative_campaign_keywords(client, customer_id, plan_campaign)
end

def create_keyword_plan(client, customer_id)
Expand Down Expand Up @@ -104,57 +104,58 @@ def create_keyword_plan_ad_group(client, customer_id, plan_campaign)
resource_name
end

def create_keyword_plan_keywords(client, customer_id, plan_ad_group)
kp_keyword1 = client.resource.keyword_plan_keyword do |kpk|
kpk.text = "mars cruise"
kpk.cpc_bid_micros = 2_000_000
kpk.match_type = :BROAD
kpk.keyword_plan_ad_group = plan_ad_group
def create_keyword_plan_ad_group_keywords(client, customer_id, plan_ad_group)
kpa_keyword1 = client.resource.keyword_plan_ad_group_keyword do |kpak|
kpak.text = "mars cruise"
kpak.cpc_bid_micros = 2_000_000
kpak.match_type = :BROAD
kpak.keyword_plan_ad_group = plan_ad_group
end

kp_keyword2 = client.resource.keyword_plan_keyword do |kpk|
kpk.text = "cheap cruise"
kpk.cpc_bid_micros = 1_500_000
kpk.match_type = :PHRASE
kpk.keyword_plan_ad_group = plan_ad_group
kpa_keyword2 = client.resource.keyword_plan_ad_group_keyword do |kpak|
kpak.text = "cheap cruise"
kpak.cpc_bid_micros = 1_500_000
kpak.match_type = :PHRASE
kpak.keyword_plan_ad_group = plan_ad_group
end

kp_keyword3 = client.resource.keyword_plan_keyword do |kpk|
kpk.text = "jupiter cruise"
kpk.cpc_bid_micros = 1_990_000
kpk.match_type = :EXACT
kpk.keyword_plan_ad_group = plan_ad_group
kpa_keyword3 = client.resource.keyword_plan_ad_group_keyword do |kpak|
kpak.text = "jupiter cruise"
kpak.cpc_bid_micros = 1_990_000
kpak.match_type = :EXACT
kpak.keyword_plan_ad_group = plan_ad_group
end

operations = [kp_keyword1, kp_keyword2, kp_keyword3].map do |keyword|
client.operation.create_resource.keyword_plan_keyword(keyword)
operations = [kpa_keyword1, kpa_keyword2, kpa_keyword3].map do |keyword|
client.operation.create_resource.keyword_plan_ad_group_keyword(keyword)
end

kp_keyword_service = client.service.keyword_plan_keyword
response = kp_keyword_service.mutate_keyword_plan_keywords(
kpa_keyword_service = client.service.keyword_plan_ad_group_keyword
response = kpa_keyword_service.mutate_keyword_plan_ad_group_keywords(
customer_id,
operations,
)

response.results.each do |result|
puts "Created keyword for keyword plan: #{result.resource_name}"
puts "Created ad group keyword for keyword plan: #{result.resource_name}"
end
end

def create_keyword_plan_negative_keywords(client, customer_id, plan_campaign)
operation = client.operation.create_resource.keyword_plan_negative_keyword do |kpnk|
kpnk.text = "moon walk"
kpnk.match_type = :BROAD
kpnk.keyword_plan_campaign = plan_campaign
def create_keyword_plan_negative_campaign_keywords(client, customer_id, plan_campaign)
operation = client.operation.create_resource.keyword_plan_campaign_keyword do |kpck|
kpck.text = "moon walk"
kpck.match_type = :BROAD
kpck.keyword_plan_campaign = plan_campaign
kpck.negative = true
end

kp_negative_keyword_service = client.service.keyword_plan_negative_keyword
response = kp_negative_keyword_service.mutate_keyword_plan_negative_keywords(
kp_campaign_keyword_service = client.service.keyword_plan_campaign_keyword
response = kp_campaign_keyword_service.mutate_keyword_plan_campaign_keywords(
customer_id,
[operation],
)

puts "Created negative keyword for keyword plan: " +
puts "Created negative campaign keyword for keyword plan: " +
"#{response.results.first.resource_name}"
end

Expand Down
5 changes: 4 additions & 1 deletion examples/planning/generate_keyword_ideas.rb
Original file line number Diff line number Diff line change
Expand Up @@ -60,17 +60,20 @@ def generate_keyword_ideas(customer_id, location_ids, language_id, keywords,
client.path.geo_target_constant(location_id)
end

include_adult_keywords = true

response = kp_idea_service.generate_keyword_ideas(
customer_id,
client.wrapper.string(client.path.language_constant(language_id)),
geo_target_constants,
include_adult_keywords,
# To restrict to only Google Search, change the parameter below to
# :GOOGLE_SEARCH
:GOOGLE_SEARCH_AND_PARTNERS,
**options_hash
)

response.results.each do |result|
response.each do |result|
monthly_searches = if result.keyword_idea_metrics.nil?
0
else
Expand Down

0 comments on commit cb5610d

Please sign in to comment.