0

대시 보드에 광고와 실적을 표시 할 수 있도록 광고 통계를 광고 이미지 URL과 연결하려고합니다. 따라서 '광고 통계'데이터 세트를 '광고 이미지'데이터 세트와 병합해야합니다. 별도로 가져 오는 방법을 알고 있지만 두 데이터 집합을 병합하기 위해 어떤 열을 키 ID 열로 사용할 수 있는지 알지 못합니다. (I 아래 사용하는 것보다 API를 통해 사용할 수있는 많은 분야가 있습니다.)광고 이미지와 광고 통계를 연결하는 방법은 무엇입니까? (Facebook Ads Python SDK)

받기 통찰력 :

insights = account.get_insights(fields=[ 
    AdsInsights.Field.date_start, 
    AdsInsights.Field.ad_id, 
    AdsInsights.Field.ad_name, 
    AdsInsights.Field.impressions, 
    AdsInsights.Field.clicks, 
    AdsInsights.Field.inline_post_engagement, 
    AdsInsights.Field.video_10_sec_watched_actions, 
    # AdsInsights.Field.canvas_avg_view_time, 
], params={ 
    'level': AdsInsights.Level.ad, 
    'breakdowns': 'publisher_platform', 
    'time_range': {'since': str(datetime.date(2017,1,15)), 'until': str(datetime.date(2017,1,21))}, 
}) 

광고 통찰력 출력 예 :

<AdsInsights> { 
    "ad_id": "6074251934453", 
    "ad_name": "Post 185|Campaign|Video|:15 Video|Chloe Ombre Legging|Womens|11.11|Gap|Holiday|Marcom|GapFit|On-figure", 
    "clicks": "80", 
    "date_start": "2017-01-15", 
    "date_stop": "2017-01-21", 
    "impressions": "29898", 
    "inline_post_engagement": "65", 
    "publisher_platform": "instagram", 
    "video_10_sec_watched_actions": [ 
     { 
      "action_type": "video_view", 
      "value": "2342" 
     } 
    ] 
} 

이미지를 얻을 수를 :

images = account.get_ad_images(fields=[ 
    AdImage.Field.account_id, 
    AdImage.Field.created_time, 
    AdImage.Field.creatives, 
    AdImage.Field.permalink_url, 
], params = { 
    'time_range': {'since': str(datetime.date(2017,1,15)), 'until': str(datetime.date(2017,1,21))} 
}) 

광고 화상 출력 예 :

,
<AdImage> { 
    "account_id": "104181146376574", 
    "created_time": "2017-03-08T10:45:57-0800", 
    "creatives": [ 
     "6079059384653", 
     "6079059384853", 
     "6079059387253" 
    ], 
    "id": "104181146376574:d2d60f26e67d99e6869c9b8444a3b30c", 
    "permalink_url": "https://www.facebook.com/ads/image/?d=AQIY0GjCTF9UUMExzqq2QAI3hFKgmObAyivAwfb346WgnzAIiysmGLjU_msd1pJcVxcr4zawWXHsiRviQjrW50lqTXxq3to6CQIQFLptp9DZ9Kanqx0tmFqoIB1_37PLqjGo7cK1bt6G2YxaL29ihdge" 
} 

'ad_id'와 '광고 소재'는 유사하지만 병합 후에는 일치하지 않습니다.

누구나 이전에이 문제를 다루었습니까? 모든 입력/생각을 많이 부탁드립니다!

답변

0

광고 이미지는 나중에 사용할 수있는 콘텐츠의 '라이브러리'처럼 생각해야합니다. 특정 이미지를 사용하는 광고가 0 개, 1 개 이상일 수 있으므로 통계를 다시 연관시키지 마십시오. 또는이 라이브러리에서 이미지를 사용하지 않는 광고 당신의 목적을 위해 데이터 모델은 아마 광고 설정해야합니다

-> 광고 ->

광고 내용 크리에이티브 크리에이티브 광고가 추진되고 있는지의 세부 사항을 포함, 보통이다 페이지에 게시하고 그 게시물에 '이미지'필드가 있습니다.

+0

특정 광고에 사용 된 특정 이미지를 기반으로 추적하는 경우 자신의 앱에서 해당 이미지 -> 광고 링크를 추적 할 수도 있습니다. – Igy

+1

광고 이미지와 광고 소재 간의 차이점을 명확히 해 주셔서 감사합니다. 나는 둘의 다른 목적에 혼란 스러웠다. 지금은 훨씬 더 의미가 있습니다. –

0

다음과 같은 방법으로 가능합니다 :

0 당신이 이미 가지고있는 것처럼
  1. 통찰력을 얻기 ad_id/insights
  2. 나는 희망

creative_id?fields=image_url 같은 창조적 같은 ad_id?fields=creative

  • 그런 다음 당신이 얻을 수있는 이미지 URL가 도움이 꺼져!

  • 0

    위 답변에 감사드립니다. 당신은 나를 올바른 방향으로 가리켰다. 내 자신의 질문에 대한 내 해결책은 다음과 같습니다.

    # get insights 
    insights = account.get_insights(fields=[ 
        AdsInsights.Field.date_start, 
        AdsInsights.Field.ad_id, 
        AdsInsights.Field.ad_name, 
        AdsInsights.Field.impressions 
    ], params={ 
        'level': AdsInsights.Level.ad, 
        'time_range': {'since': str(datetime.date(2017, 3, 31)), 'until': str(datetime.date(2017, 3, 31))} 
        'time_increment': 1 
    }) 
    
    # get a list of ad ids 
    insights_ids = [insight['ad_id'] for insight in insights] 
    
    url_list = [] 
    count = 0 
    
    for ad_id in insights_ids: 
        ad = Ad(fbid=ad_id) 
        # get creative by ad_id 
        adcreatives = ad.get_ad_creatives(fields=[ 
         AdCreative.Field.thumbnail_url, 
         AdCreative.Field.body 
        ]) 
        count += 1 
        print count 
        url_dict = {'ad_id': ad_id, 
           'thumbnail_url': adcreatives[0]['thumbnail_url'] 
           } 
        url_list.append(url_dict) 
        time.sleep(2) # will likely hit rate limit when set to 1 sec 
    

    희망이 있으면 같은 질문을하는 사람이라면 누구나 도움이 될 것입니다!

    관련 문제