class FacebookAds::AdSet

developers.facebook.com/docs/marketing-api/reference/ad-campaign

Constants

BID_STRATEGIES
BILLING_EVENTS
FIELDS
OPTIMIZATION_GOALS
STATUSES

Public Instance Methods

activities(from: Date.today.beginning_of_day, to: Date.today.end_of_day) click to toggle source
# File lib/facebook_ads/ad_set.rb, line 115
def activities(from: Date.today.beginning_of_day, to: Date.today.end_of_day)
  query = { since: from, until: to }
  AdSetActivity.get("/#{id}/activities", query: query, objectify: true)
end
ad_account() click to toggle source

AdAccount

# File lib/facebook_ads/ad_set.rb, line 77
def ad_account
  @ad_account ||= AdAccount.find("act_#{account_id}")
end
ad_campaign() click to toggle source

AdCampaign

# File lib/facebook_ads/ad_set.rb, line 83
def ad_campaign
  @ad_campaign ||= AdCampaign.find(campaign_id)
end
ad_insights(range: Date.today..Date.today, level: nil, breakdowns: [], fields: [], limit: 1_000) click to toggle source

levels = enum {ad, adset, campaign, account} breakdowns = list<enum {…, product_id, …}>

# File lib/facebook_ads/ad_set.rb, line 103
def ad_insights(range: Date.today..Date.today, level: nil, breakdowns: [], fields: [], limit: 1_000)
  query = {
    time_range: { since: range.first.to_s, until: range.last.to_s },
    level: level,
    breakdowns: breakdowns&.join(','),
    fields: fields&.join(','),
    limit: limit
  }.reject { |_key, value| value.nil? || (value.respond_to?(:empty?) && value.empty?) }

  AdInsight.paginate("/#{id}/insights", query: query)
end
ads(effective_status: ['ACTIVE'], limit: 100) click to toggle source

Ad

# File lib/facebook_ads/ad_set.rb, line 89
def ads(effective_status: ['ACTIVE'], limit: 100)
  Ad.paginate("/#{id}/ads", query: { effective_status: effective_status, limit: limit })
end
create_ad(name:, creative_id:, status: 'PAUSED') click to toggle source
# File lib/facebook_ads/ad_set.rb, line 93
def create_ad(name:, creative_id:, status: 'PAUSED')
  query = { name: name, adset_id: id, creative: { creative_id: creative_id }.to_json, status: status }
  result = Ad.post("/act_#{account_id}/ads", query: query)
  Ad.find(result['id'])
end