Skip to main content

परिचय

एनालिटिक्स मेट्रिक्स भागीदारों और विज्ञापनदाताओं को यह समझने में मदद करते हैं कि वे X पर जिन सामग्रियों का प्रचार करते हैं, उनका प्रदर्शन कैसा है। इसमें impressions, clicks, video views और spend जैसी जानकारी शामिल होती है। इसके अलावा, भागीदार और विज्ञापनदाता उन विभिन्न audience segments के लिए भी विस्तृत मेट्रिक्स प्राप्त कर सकते हैं, जिन तक वे पहुँचते हैं। Ads API, विस्तृत campaign performance metrics प्राप्त करने के दो तरीकों का समर्थन करता है: synchronously और asynchronously। synchronous analytics calls में, अनुरोधित मेट्रिक्स रिस्पॉन्स में वापस मिल जाते हैं। asynchronous analytics एंडपॉइंट्स में, अनुरोधित मेट्रिक्स संबंधित “job” की processing पूरी होने के बाद डाउनलोड की जा सकने वाली results file में उपलब्ध होते हैं। synchronous endpoint छोटे time ranges का समर्थन करता है और real-time campaign optimization के लिए आदर्श है। वहीं, asynchronous एंडपॉइंट्स बहुत लंबे time ranges का समर्थन करते हैं और इसलिए कहीं अधिक डेटा प्राप्त करने के लिए बनाए गए हैं, जो reporting या historical backfills तैयार करने के लिए आदर्श है।

विवरण

समकालिक बनाम असमकालिक

समकालिक और असमकालिक एनालिटिक्स एंडपॉइंट्स के बीच के अंतर नीचे दी गई तालिका में संक्षेप में दिए गए हैं। यह जानकारी डेवलपर्स को यह तय करने में मदद करने के लिए है कि एंडपॉइंट्स के किस सेट का उपयोग किया जाए।
  • इसका आशय उन jobs की अधिकतम संख्या से है जो किसी भी समय प्रोसेसिंग स्थिति में हो सकती हैं।
** job की प्रोसेसिंग सफलतापूर्वक पूरी हो जाने पर, एक URL रिटर्न किया जाता है। यहीं से संपीड़ित (gzip) results फ़ाइल डाउनलोड की जा सकती है।इसके अलावा, एंडपॉइंट्स समान कार्यक्षमता प्रदान करते हैं।

उपयोग के मामले

एनालिटिक्स के तीन प्रमुख उपयोग के मामले हैं।
  1. रीयल-टाइम ऑप्टिमाइज़ेशन: परफ़ॉर्मेंस मेट्रिक्स का उपयोग करके सक्रिय अभियानों को अपडेट करना
  2. सिंक्रोनाइज़ेशन: नियमित रूप से निर्धारित बैकग्राउंड सिंक
  3. नए खाते का ऑन-बोर्डिंग: पुराने डेटा को बैकफ़िल करना
पिछले 5 से 15 मिनट के भीतर मेट्रिक्स में हुए बदलावों के आधार पर अभियानों को अपडेट करने के लिए, रीयल-टाइम ऑप्टिमाइज़ेशन में सिंक्रोनस एनालिटिक्स एंडपॉइंट का उपयोग किया जा सकता है। एनालिटिक्स सिंक्रोनाइज़ेशन के लिए किसी भी एंडपॉइंट का उपयोग किया जा सकता है। ध्यान रखें कि वांछित समय-सीमा और सेगमेंटेशन की आवश्यकता है या नहीं, इसी से तय होगा कि किस एंडपॉइंट का उपयोग करना है। नए खाते का ऑन-boarding केवल एसिंक्रोनस एनालिटिक्स एंडपॉइंट्स का उपयोग करके ही किया जाना चाहिए। (बड़ी मात्रा में डेटा प्राप्त करने के लिए सिंक्रोनस एनालिटिक्स एंडपॉइंट का कभी भी उपयोग नहीं करना चाहिए।) यदि मेट्रिक्स को किसी बैकएंड प्रक्रिया के साथ सिंक किया गया हो, तो एसिंक्रोनस एनालिटिक्स एंडपॉइंट्स डैशबोर्ड और अन्य UI एलिमेंट्स को सपोर्ट कर सकते हैं। आपके इम्प्लीमेंटेशन को यूज़र इंटरफ़ेस अनुरोधों को पूरा करने के लिए एसिंक्रोनस एनालिटिक्स एंडपॉइंट्स को कॉल करने से बचना चाहिए।

अनुरोध विकल्प

एनालिटिक्स अनुरोध ads accounts के दायरे में होते हैं और इसलिए resource path में account ID आवश्यक होती है। नीचे सूचीबद्ध अनुरोध विकल्प query parameters के रूप में निर्दिष्ट किए जाते हैं। निम्न प्रकार के मान आवश्यक हैं।
  • Entities: entity type के साथ अधिकतम 20 entity IDs, जिनके लिए आप analytics का अनुरोध करना चाहते हैं
  • Time range: आरंभ और समाप्ति समय, जिन्हें ISO 8601 में व्यक्त किया जाता है
    • नोट: इन्हें पूरे घंटों में व्यक्त किया जाना चाहिए
  • Metric groups: संबंधित metrics के एक या अधिक सेट (हर metric group के metrics की सूची के लिए Metrics and Segmentation देखें)
  • Granularity: aggregation के उस स्तर को निर्दिष्ट करता है जिस पर metrics लौटाए जाने चाहिए
  • Placement: यह निर्धारित करता है कि metrics उन ads के लिए निकाले जाएँ जो X पर या X के बाहर serve हुए
    • नोट: हर अनुरोध में केवल एक placement value निर्दिष्ट की जा सकती है
समय सीमा निर्दिष्ट करने के लिए start_time और end_time अनुरोध पैरामीटर का उपयोग करें। इन मानों को नीचे बताए गए तरीके से निर्दिष्ट granularity के अनुरूप होना चाहिए।
  1. TOTAL: कोई भी समय सीमा निर्दिष्ट करें (endpoint की सीमाओं के भीतर)
  2. DAY: start time और end time, दोनों के मान account के time zone में मध्यरात्रि के अनुरूप होने चाहिए
  3. HOUR: कोई भी समय सीमा निर्दिष्ट करें (endpoint की सीमाओं के भीतर)
समाप्ति समय exclusive होता है। उदाहरण के लिए, start_time=2019-01-01T00:00:00Z और end_time=2019-01-02T00:00:00Z वाला अनुरोध analytics metrics का केवल एक दिन का डेटा लौटाएगा (दो दिन का नहीं), क्योंकि यह समय सीमा केवल 24 घंटे की अवधि को कवर करती है। विभाजन यह केवल हमारे asynchronous analytics एंडपॉइंट्स के माध्यम से उपलब्ध है। सेगमेंटेशन partners और advertisers को metrics को विशिष्ट targeting values के अनुसार विभाजित रूप में प्राप्त करने की सुविधा देता है। Segmented metrics का अनुरोध करने के लिए segmentation_type अनुरोध पैरामीटर का उपयोग करें। Segmentation विकल्पों के बारे में अधिक जानकारी के लिए, Metrics and Segmentation देखें।

अक्सर पूछे जाने वाले सवाल

Ads API के आंकड़े X Ads UI में दिखने वाले आंकड़ों से मेल क्यों नहीं खाते?
  • सुनिश्चित करें कि आपने दोनों placements के लिए डेटा अनुरोध किया है: ALL_ON_TWITTER और PUBLISHER_NETWORK, SPOTLIGHT, और TREND.
  • ध्यान रखें कि Ads API में end times exclusive होते हैं; जबकि Ads UI में वे inclusive होते हैं
मैं डेटा कब अनुरोध करता हूँ, इसके आधार पर आंकड़े क्यों बदलते हैं?
  • जैसे ही reporting metrics उपलब्ध होते हैं, आप उन्हें प्राप्त कर सकते हैं। वे लगभग real-time में उपलब्ध होते हैं। हालांकि, ये शुरुआती नतीजे केवल अनुमान होते हैं, इसलिए इनमें बदलाव होना स्वाभाविक है। Spend डेटा को छोड़कर, metrics 24 घंटे बाद अंतिम रूप ले लेते हैं।
  • Spend metrics आम तौर पर event के 3 दिनों के भीतर अंतिम हो जाते हैं। हालांकि, हम event की तारीख से 14 दिनों तक billing डेटा प्रोसेस करते हैं (उदाहरण के लिए, spam filtering के लिए)।
मैं यह कैसे निर्धारित करूँ कि किसी खास समयावधि के लिए किन entity IDs का अनुरोध करना है? एनालिटिक्स रिस्पॉन्स में सभी मान null क्यों हैं?
  • संभव है कि campaign ने अनुरोधित समयावधि के दौरान serve न किया हो
  • यह तय करने के लिए कि analytics किन entities के लिए और किस समयावधि के लिए प्राप्त करना है, Active Entities endpoint का उपयोग करें
जब UI में 0s दिखते हैं, तब API null मान क्यों दिखाता है?
  • UI इन मानों को 0s के रूप में दिखाता है, लेकिन दोनों मान समतुल्य हैं
मैं X timeline जैसे granular placement से जुड़े metrics का अनुरोध कैसे कर सकता हूँ?
  • analytics में हम निम्नलिखित placement values का समर्थन करते हैं: ALL_ON_TWITTER और PUBLISHER_NETWORK, SPOTLIGHT, और TREND (यानी, X Audience Platform)
क्या deleted या paused entities के लिए metrics प्राप्त करना संभव है?
  • हाँ। Entity की status analytics metrics की उपलब्धता को प्रभावित नहीं करती।
Segmented मान non-segmented मानों से मेल क्यों नहीं खाते?
  • यह अपेक्षित नहीं है कि Segmented डेटा 100% non-segmented डेटा तक roll-up हो, क्योंकि यह जानकारी जिस तरीके से निकाली जाती है, उसके कारण।
क्या कई dimensions के आधार पर segmented डेटा का अनुरोध करना संभव है?
  • हम multi-segmentation का समर्थन नहीं करते।

सर्वोत्तम प्रथाएँ

Ads API से एनालिटिक्स डेटा एकत्र करते समय अपनाई जाने वाली कुछ सर्वोत्तम प्रथाएँ।

रेट लिमिटिंग और पुनर्प्रयास

  • जिन क्वेरियों पर रेट लिमिट लागू होती है (यानी जो HTTP 429 स्टेटस कोड लौटाती हैं), उनमें आपको x-rate-limit-reset हेडर की जांच करनी चाहिए और केवल बताए गए समय पर या उसके बाद ही पुनर्प्रयास करना चाहिए।
  • जिन क्वेरियों के परिणामस्वरूप HTTP 503 Service Unavailable स्टेटस कोड मिलता है, उनमें आपको retry-after हेडर की जांच करनी चाहिए और केवल बताए गए समय के बाद ही पुनर्प्रयास करना चाहिए।
  • जो एप्लिकेशन पुनर्प्रयास के लिए बताए गए समय का पालन नहीं करते, उनकी Ads API तक पहुंच बिना किसी सूचना के रद्द की जा सकती है या सीमित की जा सकती है।

संक्षेप में एनालिटिक्स मेट्रिक्स

  • billed_charge_local_micro को छोड़कर, सभी analytics मेट्रिक्स 24 घंटे बाद स्थिर हो जाते हैं और फिर उनमें कोई बदलाव नहीं होता।
  • billed_charge_local_micro मेट्रिक, डेटा लौटाए जाने के बाद अधिकतम 3 दिनों तक एक अनुमानित मान होता है।
  • 24 घंटे बाद, यह मेट्रिक ज़्यादा खर्च के लिए दिए गए क्रेडिट (दिए गए end_time के बाद सर्व किए गए ads) और ऐसे billable events के कारण घट सकता है जिन्हें junk माना जाता है। 24 घंटे बाद इस मेट्रिक में बहुत कम बदलाव होता है।
  • अधिक जानकारी के लिए, कृपया एनालिटिक्स देखें।

रीयल-टाइम, गैर-सेगमेंटेड डेटा फ़ेच करना

  • हमेशा start_time और end_time दोनों दें।
  • 7 दिनों से अधिक पुरानी किसी भी एंटिटी का डेटा न खींचें।
  • डेटा का अनुरोध (आदर्श रूप से) HOUR ग्रैन्युलैरिटी के साथ करें, क्योंकि आप मेट्रिक्स को हमेशा एग्रीगेट और रोल-अप करके DAY और TOTAL ग्रैन्युलैरिटी प्राप्त कर सकते हैं।
  • डेटा का अनुरोध (आदर्श रूप से) line_items और promoted_tweets स्तर पर करें, क्योंकि आप इन मेट्रिक्स को हमेशा एग्रीगेट और रोल-अप करके पूरे ads एंटिटी हाइरार्की में कुल मान प्राप्त कर सकते हैं (यानी campaign, funding instrument, या account स्तरों पर)।
  • analytics मेट्रिक्स के मान अपनी तरफ़ (लोकल रूप से) सहेजें और संग्रहित करें।
  • 30 दिनों से अधिक पुराने डेटा के लिए बार-बार क्वेरी न करें। यह डेटा नहीं बदलेगा और इसे लोकल रूप से संग्रहित किया जाना चाहिए।
  • सभी गैर-सेगमेंटेड डेटा रीयल-टाइम होता है और किसी इवेंट के होने के कुछ सेकंड के भीतर उपलब्ध हो जाना चाहिए।
  • conversion मेट्रिक्स और non-conversion मेट्रिक्स को अलग-अलग अनुरोधों में समूहित करें।

सेगमेंटेड डेटा प्राप्त करना

  • ऊपर दिए गए “Fetching Real-time, Non-segmented Data” के लिए दिए गए दिशानिर्देश देखें। अतिरिक्त सलाह नीचे दी गई है।
  • अधिकांश सेगमेंटेड डेटा प्रकारों में, कभी-कभी डेटा को पूरा होने में 1 घंटे तक लग सकता है। INTERESTS के आधार पर सेगमेंट किए गए डेटा में 12 घंटे तक की देरी हो सकती है।
  • यह अपेक्षित नहीं है कि सेगमेंटेड डेटा, इस जानकारी के निकाले जाने के तरीके के कारण, गैर-सेगमेंटेड डेटा से 100% मेल खाए।

ऐतिहासिक डेटा फ़ेच करना

  • डेटा को बैकफ़िल करते समय (यानी, कोई नया विज्ञापनदाता खाता जोड़ते समय), आपको start_time और end_time के छोटे-छोटे खंडों में कई अनुरोध करने पड़ सकते हैं।
  • अपने फ़ेच को 30-दिन की तिथि-विंडो तक सीमित रखें।
  • इन अनुरोधों को थ्रॉटल करें और इन्हें समय के साथ फैलाकर भेजें, ताकि इन फ़ेच के लिए आपकी रेट लिमिट्स समाप्त न हों।

उदाहरण

आप हमारे ads-platform-tools github रिपॉज़िटरी में एक नमूना स्क्रिप्ट (fetch_stats) देख सकते हैं, जो इन सर्वोत्तम प्रथाओं में से कुछ को दर्शाती है।

उद्देश्य के अनुसार मेट्रिक्स

किसी इकाई पर कौन-से मेट्रिक्स लागू होंगे, यह campaign objective पर निर्भर करता है। इस गाइड का उपयोग करके तय करें कि प्रत्येक उद्देश्य प्रकार के लिए कौन-से प्रासंगिक मेट्रिक समूह फ़ेच करने हैं, और अतिरिक्त व्युत्पन्न मेट्रिक्स की गणना कैसे की जा सकती है।

ENGAGEMENTS

प्रासंगिक मेट्रिक समूह: ENGAGEMENT और BILLING। अगर क्रिएटिव में मीडिया का उपयोग किया गया है, तो MEDIA भी लागू है।

WEBSITE_CLICKS और WEBSITE_CONVERSIONS

प्रासंगिक मीट्रिक समूह:ENGAGEMENT, BILLING, और WEB_CONVERSION। अगर क्रिएटिव में मीडिया का उपयोग किया गया है, तो MEDIA भी लागू होता है।

APP_INSTALLS और APP_ENGAGEMENTS

संबंधित मेट्रिक समूह:ENGAGEMENT, BILLING, MOBILE_CONVERSION, और LIFE_TIME_VALUE_MOBILE_CONVERSION। अगर क्रिएटिव्स में मीडिया या वीडियो ऐप कार्ड का इस्तेमाल किया गया है, तो MEDIA और VIDEO भी लागू हैं।

FOLLOWERS

प्रासंगिक मेट्रिक समूह:ENGAGEMENT और BILLING। अगर क्रिएटिव्स में मीडिया का उपयोग किया गया है, तो MEDIA भी लागू है।

LEAD_GENERATION

संबंधित मेट्रिक समूह: ENGAGEMENT और BILLING। अगर क्रिएटिव्स में मीडिया का उपयोग किया जाता है, तो MEDIA भी लागू है।

VIDEO_VIEWS

प्रासंगिक मेट्रिक समूह:ENGAGEMENT, BILLING, और VIDEO.

VIDEO_VIEWS_PREROLL

संबंधित मेट्रिक समूह: ENGAGEMENT, BILLING, और VIDEO.

मेट्रिक्स और सेगमेंटेशन

यह दस्तावेज़ प्रत्येक इकाई प्रकार के लिए हमारे Analytics में उपलब्ध मेट्रिक्स का एक अवलोकन है, साथ ही प्रत्येक मेट्रिक के लिए उपलब्ध सेगमेंटेशन का भी। *ENGAGEMENT मेट्रिक्स परिवार के कुछ मेट्रिक्स account और funding instrument स्तर पर उपलब्ध नहीं हैं। विवरण के लिए ENGAGEMENT अनुभाग देखें।

मेट्रिक्स समूह के अनुसार उपलब्ध मेट्रिक्स

ENGAGEMENT

BILLING

VIDEO

वीडियो मेट्रिक्स की परिभाषा में बदलाव के बारे में सूचना: VIDEO metrics group के भीतर video_total_views मेट्रिक उन सभी views की रिपोर्ट करेगा जो MRC मानक के अनुसार कम से कम 2 सेकंड तक कम से कम 50% in-view रहे हों। कम से कम 3 सेकंड तक 100% in view वाली हमारी मूल video view परिभाषा VIDEO metrics group में नए video_3s100pct_views मेट्रिक के रूप में उपलब्ध रहेगी। मूल view परिभाषा के आधार पर बोली लगाना जारी रखने और उसी आधार पर शुल्क लिया जाने के लिए, नए उपलब्ध VIEW_3S_100PCT bid_unit का उपयोग करें।

MEDIA

WEB_CONVERSION

MOBILE_CONVERSION

मोबाइल कन्वर्ज़न के आँकड़े केवल उन विज्ञापनदाता खातों के लिए उपलब्ध हैं जिनमें MACT सक्षम है।

LIFE_TIME_VALUE_MOBILE_CONVERSION

लाइफटाइम मोबाइल कन्वर्ज़न आँकड़े केवल उन विज्ञापनदाता खातों के लिए उपलब्ध हैं जिनके लिए MACT सक्षम है।

विभाजन

विभाजन रिपोर्टिंग से किसी दिए गए targeting type के मानों के आधार पर विभाजित मेट्रिक्स प्राप्त किए जा सकते हैं। इसकी अतिरिक्त जटिलता के कारण विभाजन केवल asynchronous analytics queries के माध्यम से उपलब्ध है। MEDIA_CREATIVE या ORGANIC_TWEET entities के लिए विभाजन समर्थित नहीं है। कुछ सेगमेंटेशन types के लिए अतिरिक्त पैरामीटर पास करने होते हैं। उनका दस्तावेज़ीकरण नीचे दिया गया है। CITIES या POSTAL_CODES के आधार पर विभाजन करते समय, API केवल targeted locations लौटाएगा। Region और metro सेगमेंटेशन targeted और non-targeted, दोनों locations लौटाएगा।

व्युत्पन्न मेट्रिक्स

कैंपेन मेट्रिक्स उनके कैंपेन उद्देश्यों पर निर्भर करते हैं। लागू उद्देश्यों के आधार पर उपयोग के लिए व्युत्पन्न मेट्रिक्स की गणना कैसे की जाए, यह तय करने हेतु इस गाइड का उपयोग करें। कोई भी metric जिसके साथ कर्ली ब्रैकेट्स नहीं हैं, वह Ads API के analytics endpoints द्वारा लौटाया जाता है। {कर्ली ब्रैकेट्स} से घिरा कोई भी नाम उस श्रेणी के लिए एक व्युत्पन्न मेट्रिक को दर्शाता है।

एंगेजमेंट्स

WEBSITE_CLICKS

APP_INSTALLS और APP_ENGAGEMENTS

फ़ॉलोअर्स

LEAD_GENERATION

VIDEO_VIEWS

QUALIFIED_IMPRESSIONS

कस्टम

PROMOTED_ACCOUNT के placement_type के लिए ऊपर दिए गए FOLLOWERS ऑब्जेक्टिव को देखें। इस ऑब्जेक्टिव के साथ अन्य सभी प्लेसमेंट के लिए, संबंधित डेराइव्ड मेट्रिक्स हेतु ENGAGEMENTS देखें।

मार्गदर्शिकाएँ

सक्रिय एंटिटीज़

परिचय

Active Entities endpoint को हमारे synchronous और asynchronous एनालिटिक्स एंडपॉइंट्स के साथ उपयोग करने के लिए डिज़ाइन किया गया है, क्योंकि यह बताता है कि analytics का अनुरोध किन campaigns के लिए किया जाना चाहिए। यह ads entities का विवरण और उनकी metrics में बदलाव कब हुआ, यह लौटाकर ऐसा करता है। इस endpoint का उपयोग करने से आपका code और analytics फ़ेच करने का logic काफ़ी सरल हो जाएगा। इस guide में endpoint और उसके data source के बारे में जानकारी और संदर्भ शामिल हैं। यह उपयोग दिशानिर्देश और उदाहरण अनुरोधों की एक श्रृंखला भी प्रदान करता है, जो दिखाती है कि हमारे analytics एंडपॉइंट्स के साथ Active Entities का उपयोग कैसे किया जाए। सारांश अनुभाग अनुशंसित दृष्टिकोण का उच्च-स्तरीय विवरण देता है।

डेटा

जब भी किसी ads entity metric में बदलाव होता है, हम उस बदलाव की जानकारी दर्ज करते हैं। इन परिवर्तन इवेंट्स को हर घंटे के बकेट में संग्रहीत किया जाता है और इनमें entity का विवरण, साथ ही वह समय भी शामिल होता है जिस पर बदलाव लागू होता है। यह दूसरा हिस्सा ज़रूरी है, क्योंकि परिवर्तन इवेंट्स हमेशा उस समय से मेल नहीं खाते जब उन्हें दर्ज किया गया था। इसका एक सामान्य कारण billing adjustments है, लेकिन इसके अलावा भी अन्य कारण हो सकते हैं।

एंडपॉइंट

अनुरोध

Active Entities अनुरोध ads accounts के अंतर्गत आते हैं और इनमें तीन आवश्यक query पैरामीटर होते हैं: entity, start_time, और end_time twurl -H ads-api.x.com "/11/stats/accounts/18ce54d4x5t/active_entities?entity=PROMOTED_TWEET&start_time=2019-03-05T00:00:00Z&end_time=2019-03-06T00:00:00Z" निम्न entity मान समर्थित हैं: CAMPAIGN, FUNDING_INSTRUMENT, LINE_ITEM, MEDIA_CREATIVE, PROMOTED_ACCOUNT, और PROMOTED_TWEET। यह उन entity type को दर्शाता है जिन्हें हमारे एनालिटिक्स एंडपॉइंट्स समर्थन करते हैं। start_time और end_time मान ISO 8601 में होने चाहिए और यह निर्दिष्ट करते हैं कि किन hourly buckets के लिए query की जानी है। इन्हें पूरे घंटों में व्यक्त किया जाना चाहिए। यह एंडपॉइंट तीन वैकल्पिक पैरामीटर का भी समर्थन करता है, जिनका उपयोग नतीजों को फ़िल्टर करने के लिए किया जा सकता है: funding_instrument_ids, campaign_ids, और line_item_ids। ये ads hierarchy के सभी स्तरों पर और किसी भी निर्दिष्ट entity type के साथ काम करते हैं।

रिस्पॉन्स

ऊपर दिए गए अनुरोध के लिए Active Entities रिस्पॉन्स नीचे दर्शाया गया है।
data ऐरे में हर उस इकाई के लिए एक ऑब्जेक्ट शामिल होता है जिसे बाद के एनालिटिक्स अनुरोध में शामिल किया जाना चाहिए। आपको इस सेट से बाहर के IDs के लिए एनालिटिक्स का अनुरोध नहीं करना चाहिए। हर ऑब्जेक्ट में चार फ़ील्ड्स होते हैं: entity_id, activity_start_time, activity_end_time, और placements। गतिविधि के आरंभ और समाप्ति समय उस समय-सीमा को दर्शाते हैं, जिस पर संबंधित इकाई की परिवर्तन इवेंट लागू होती हैं, और इसी आधार पर यह तय होता है कि बाद के एनालिटिक्स अनुरोधों में कौन-सी तारीखें निर्दिष्ट की जानी चाहिए। placements ऐरे में निम्नलिखित मान हो सकते हैं: ALL_ON_TWITTER, PUBLISHER_NETWORK, SPOTLIGHT, और TREND। यह बताता है कि दिए गए entity ID के लिए किन placements का अनुरोध किया जाना चाहिए।

उपयोग

एनालिटिक्स अनुरोध कैसे किए जाएँ, यह Active Entities एंडपॉइंट से निर्धारित होना चाहिए। नीचे दिए गए उपयोग दिशानिर्देश एनालिटिक्स synchronization का समर्थन करने के लिए लिखे गए हैं, ताकि पार्टनर अपने data store को Twitter के साथ सिंक में रख सकें। दूसरे शब्दों में, यह बताता है कि नियमित रूप से शेड्यूल किए गए background syncs कैसे चलाए जाएँ। डेवलपर को दो निर्णय लेने होते हैं।
  1. Active Entities information का अनुरोध कितनी बार किया जाए और, इस प्रकार, एनालिटिक्स को कितनी बार pull किया जाए।
  2. एनालिटिक्स अनुरोध के start_time और end_time मान तय करने के लिए activity के start और end time का उपयोग कैसे किया जाए।
इन दोनों विषयों पर सारांश के बाद नीचे दिए गए दो उपखंडों में अधिक विस्तार से चर्चा की गई है।

सारांश

एनालिटिक्स अनुरोध किस तरह किए जाएँ, यह निर्धारित करने के लिए Active Entities एंडपॉइंट का उपयोग नीचे दिए गए तरीके से करें। यह प्रक्रिया तब अपनाएँ जब आप तय कर लें कि active entities की जानकारी कितनी बार प्राप्त करनी है और उसके आधार पर एनालिटिक्स कितनी बार पुल करना है।
  1. Active Entities अनुरोध करें।
  2. रिस्पॉन्स को placement के अनुसार विभाजित करें। ALL_ON_TWITTER के लिए एक समूह, PUBLISHER_NETWORK के लिए एक, SPOTLIGHT के लिए एक, और TREND के लिए एक।
  3. प्रत्येक placement समूह के लिए, निम्न कार्य करें।
    1. entity IDs निकालें।
    2. एनालिटिक्स के start_time और end_time मान निर्धारित करें।
      • न्यूनतम activity_start_time ढूँढें। इस मान को नीचे की ओर round करें।
      • अधिकतम activity_end_time ढूँढें। इस मान को ऊपर की ओर round करें।
    3. एनालिटिक्स अनुरोध करें।
      • entity IDs को 20 के बैच में समूहित करें।
      • #3b के start_time और end_time मानों का उपयोग करें।
      • उपयुक्त placement मान निर्दिष्ट करें।
    4. अपने data store में लिखें।
Python SDK का उपयोग करने वाले उदाहरण के लिए active_entities.py देखें।

आवृत्ति

पहले प्रश्न का उत्तर यह निर्धारित करता है कि Active Entities अनुरोधों में किस समय-सीमा का उपयोग किया जाना चाहिए। उदाहरण के लिए, यदि Active Entities की जानकारी हर घंटे मांगी जा रही है, तो समय-सीमा एक घंटे की होनी चाहिए। यदि Active Entities की जानकारी दिन में एक बार मांगी जा रही है, तो समय-सीमा एक दिन की होनी चाहिए। दूसरे शब्दों में, समय-सीमाएँ इस तरह चुनी जानी चाहिए कि मौजूदा अनुरोध का start_time, पिछले अनुरोध के end_time के बराबर हो।
नोट: किसी समय-विंडो का अनुरोध केवल एक बार किया जाना चाहिए। किसी समय-विंडो का एक से अधिक बार अनुरोध करने से अनावश्यक एनालिटिक्स अनुरोध होंगे। (अपवाद नीचे दिया गया है।)
जो पार्टनर मौजूदा घंटे के लिए एक घंटे में कई बार एनालिटिक्स का अनुरोध करना चाहते हैं, उनके लिए भी यही पैटर्न लागू होता है—आवृत्ति ही समय-सीमा निर्धारित करती है। नीचे दी गई तालिका इस परिदृश्य के लिए Active Entities के start_time और end_time टाइमस्टैम्प के उदाहरण दिखाती है। परिवर्तन इवेंट्स को जिस तरह संग्रहीत किया जाता है, उसके कारण ऊपर दिए गए सभी चार Active Entities अनुरोध उसी प्रति-घंटा बकेट को क्वेरी करते हैं, जो इस उपयोग के मामले के लिए आवश्यक है। हालांकि, मौजूदा घंटे के बाद इस प्रति-घंटा बकेट को फिर क्वेरी नहीं किया जाना चाहिए।

गतिविधि समय

हम गतिविधि के शुरू और खत्म होने के समय के साथ काम करने के लिए निम्नलिखित तरीका सुझाते हैं। Active Entities रिस्पॉन्स में मौजूद सभी ऑब्जेक्ट्स में activity_start_time का न्यूनतम मान और activity_end_time का अधिकतम मान ढूंढें। फिर इन मानों को इस तरह संशोधित करें कि न्यूनतम गतिविधि आरंभ समय को नीचे की ओर राउंड किया जाए और अधिकतम गतिविधि समाप्ति समय को ऊपर की ओर राउंड किया जाए। विशेष रूप से, दोनों टाइमस्टैम्प में घंटे, मिनट और सेकंड को शून्य पर सेट करें और समाप्ति समय में एक दिन जोड़ दें, जैसा कि नीचे दी गई तालिका में दिखाया गया है। बाद के एनालिटिक्स अनुरोधों में यही आरंभ और समाप्ति समय निर्दिष्ट किए जाने चाहिए। नोट: यह महत्वपूर्ण है कि टाइमस्टैम्प में घंटे, मिनट और सेकंड शून्य पर सेट करके शामिल किए जाएँ। अन्यथा, अगर केवल तारीख भेजी जाती है, तो हम मान लेंगे कि आप ads account के timezone में मध्यरात्रि से शुरू होकर मध्यरात्रि पर समाप्त होने वाले एनालिटिक्स का अनुरोध कर रहे हैं, जो शायद वांछनीय न हो। उदाहरण के लिए, अगर न्यूनतम गतिविधि आरंभ समय 2019-02-28T01:30:07Z है और -08:00:00 ऑफ़सेट वाले किसी ads account के लिए टाइमस्टैम्प छोड़ दिया जाता है, तो एनालिटिक्स अनुरोध 01:30 और 08:00 के बीच हुए बदलावों को शामिल नहीं करेगा। वैकल्पिक रूप से, अगर आप पूरे दिनों तक विस्तार किए बिना केवल लौटाई गई गतिविधि समय विंडो के लिए एनालिटिक्स का अनुरोध करना चाहते हैं, तो ऐसा कर सकते हैं। इस तरीके का उपयोग करने पर, व्युत्पन्न आरंभ और समाप्ति समय क्रमशः 2019-03-04T20:00:00Z और 2019-03-05T15:00:00Z होंगे। (ध्यान दें कि अगर आप एनालिटिक्स अनुरोध में DAY granularity निर्दिष्ट करते हैं, तो इस तरह की ranges स्वीकार नहीं की जाती हैं।)

उदाहरण

यह अनुभाग दिखाता है कि सिंक्रोनस एनालिटिक्स एंडपॉइंट के साथ Active Entities का उपयोग कैसे किया जाता है। (पठनीयता के लिए रिस्पॉन्स में थोड़ा-सा बदलाव किया गया है।) इस उदाहरण में, Active Entities एंडपॉइंट को हर घंटे की शुरुआत में कॉल किया जाता है, और हर अनुरोध पिछले घंटे को देखता है। रिस्पॉन्स यह तय करता है कि सिंक्रोनस एनालिटिक्स एंडपॉइंट का उपयोग कैसे किया जाए। पहला Active Entities अनुरोध 03:00:00 पर किया जाता है। रिस्पॉन्स से पता चलता है कि line item dvcz7 के metrics बदल गए हैं और ये परिवर्तन इवेंट 02:02:55 से 02:28:12 के बीच की विंडो पर लागू होते हैं।
इन गतिविधियों के आरंभ और समाप्ति समयों के आधार पर, और ऊपर वर्णित पद्धति का उपयोग करते हुए, एनालिटिक्स start_time और end_time मान क्रमशः 2019-02-11T00:00:00Z और 2019-02-12T00:00:00Z पर सेट किए जाते हैं। हम देखते हैं कि नीचे दिए गए प्रत्येक metrics array में तीसरा तत्व शून्य नहीं है, जैसा कि सक्रिय entities की जानकारी के आधार पर अपेक्षित था।
अगला Active Entities अनुरोध 04:00:00 पर होता है और केवल पिछले एक घंटे को देखता है। जैसा कि ऊपर बताया गया है, किसी समय विंडो का अनुरोध केवल एक बार ही किया जाना चाहिए। रिस्पॉन्स के आधार पर, हम देखते हैं कि इस line item के लिए परिवर्तन इवेंट दोनों 02:00:00 और 03:00:00 पर लागू होते हैं। इसके बाद के एनालिटिक्स अनुरोध में, हमें दोनों घंटों के लिए परिवर्तन दिखाई देने की अपेक्षा है।
03:00:00 के लिए शून्य से अधिक मेट्रिक्स दिखने के अलावा, हम यह भी देखते हैं कि impressions, spend, और MRC वीडियो views को उनके पिछले मानों से अपडेट किया गया है। उदाहरण के लिए, 02:00:00 घंटे के लिए impressions अब 2,792 से बढ़कर 2,995 हो गए हैं। यह दर्शाता है कि 03:00:00 घंटे के दौरान रिकॉर्ड की गई परिवर्तन इवेंट 02:00:00 घंटे पर लागू होती हैं।
05:00:00 पर किया गया Active Entities अनुरोध, फिर से केवल पिछले घंटे को देखते हुए, यह दिखाता है कि परिवर्तन ईवेंट केवल 03:00:00 वाले घंटे पर लागू होते हैं। इसके बाद के अनुरोध में एनालिटिक्स metrics में हुए बदलाव इसी को दर्शाते हैं।
एनालिटिक्स रिस्पॉन्स से पता चलता है कि केवल 03:00:00 घंटे के मेट्रिक्स बदले हैं; 02:00:00 घंटे के मान वही हैं जो पिछले एनालिटिक्स अनुरोध के दौरान थे।
अंत में, 06:00:00 पर हम देखते हैं कि कोई अतिरिक्त परिवर्तन इवेंट नहीं हैं। ध्यान दें: हालांकि, इसका यह मतलब नहीं है कि इस line item के मेट्रिक्स भविष्य में नहीं बदल सकते।

असमकालिक मार्गदर्शिका

API संदर्भ

असमकालिक एनालिटिक्स

परिचय

असमकालिक एनालिटिक्स एंडपॉइंट्स भागीदारों और विज्ञापनदाताओं को create request सबमिट करके metrics का अनुरोध करने की सुविधा देते हैं, जिन्हें सर्वर असमकालिक रूप से प्रोसेस करता है। (हम इन्हें असमकालिक एनालिटिक्स “jobs” कहते हैं।) इस तरीके में, अनुरोध पूरा होने तक क्लाइंट का connection खुला रखने की आवश्यकता नहीं होती। ये एंडपॉइंट्स, अपने सिंक्रोनस समकक्षों की तरह, भागीदारों और विज्ञापनदाताओं को campaign performance के बारे में विस्तृत statistics का अनुरोध करने की अनुमति देते हैं। ये accounts, funding instruments, campaigns, line items, promoted Tweets, और media creatives के लिए data का अनुरोध करने का समर्थन करते हैं। इन और सिंक्रोनस एंडपॉइंट के बीच अंतर यह है कि असमकालिक एनालिटिक्स एंडपॉइंट्स लंबी date ranges, अधिकतम 90 दिनों तक, और segmentation का भी समर्थन करते हैं। दोनों के बीच के अंतरों के बारे में अतिरिक्त जानकारी हमारे Analytics Overview पेज पर मिल सकती है। हमारे सिंक्रोनस एंडपॉइंट्स के विपरीत, rate limiting किसी दिए गए account के लिए concurrent jobs की संख्या के आधार पर तय की जाती है। दूसरे शब्दों में, यह उन jobs की संख्या पर आधारित है जो किसी भी समय processing state में हो सकती हैं। हम इसकी गणना ads account स्तर पर करते हैं।

उपयोग

असमकालिक एनालिटिक्स एंडपॉइंट्स का उपयोग करके अभियान मेट्रिक्स प्राप्त करना एक बहु-चरणीय प्रक्रिया है। इसमें एक जॉब बनाना, यह जांचना कि जॉब की प्रोसेसिंग पूरी हुई है या नहीं, और अंत में डेटा डाउनलोड करना शामिल है। डेटा फ़ाइल को अनज़िप करना आवश्यक है। नीचे चार चरण दिए गए हैं।
  1. POST stats/jobs/accounts/:account_id एंडपॉइंट का उपयोग करके जॉब बनाएं।
  2. यह पता लगाने के लिए कि जॉब की प्रोसेसिंग पूरी हुई है या नहीं, GET stats/jobs/accounts/:account_id एंडपॉइंट पर नियमित अंतराल पर अनुरोध करें।
  3. जॉब की प्रोसेसिंग पूरी हो जाने पर, डेटा फ़ाइल डाउनलोड करें।
  4. डेटा फ़ाइल को अनज़िप करें।
डेटा फ़ाइल में लौटाए गए रिस्पॉन्स ऑब्जेक्ट का JSON स्कीमा सिंक्रोनस एनालिटिक्स एंडपॉइंट के रिस्पॉन्स के JSON स्कीमा जैसा ही होता है। सेगमेंट किए गए अभियान मेट्रिक्स केवल असमकालिक एनालिटिक्स एंडपॉइंट्स के माध्यम से उपलब्ध हैं। अभियान मेट्रिक्स को स्थान, लिंग, रुचि, कीवर्ड आदि के आधार पर विभाजित किया जा सकता है। विकल्पों की पूरी सूची के लिए, Metrics and Segmentation पेज देखें। सेगमेंट किए गए मेट्रिक्स का अनुरोध करने के लिए, जॉब बनाते समय segmentation_type अनुरोध पैरामीटर का उपयोग करें।

उदाहरण

यह अनुभाग दिखाता है कि असमकालिक एनालिटिक्स एंडपॉइंट्स का उपयोग कैसे करें। POST stats/jobs/accounts/:account_id एंडपॉइंट का उपयोग करके job बनाकर शुरुआत करें। नीचे दिया गया उदाहरण एक सप्ताह की अवधि के लिए किसी विशिष्ट line item के engagement metrics—जैसे impressions, likes, clicks आदि—का अनुरोध करता है। (ध्यान दें कि अनुरोधित समय-सीमा 20 मार्च तक जाती है, लेकिन उसमें 20 मार्च शामिल नहीं है, क्योंकि timestamp मध्यरात्रि पर सेट है।)
यह रिस्पॉन्स line item metrics नहीं लौटाता। यह सिर्फ उस job के बारे में जानकारी देता है जिसे आपने अभी बनाया है। job की स्थिति जांचने के लिए Job ID आवश्यक है। यह id और id_str दोनों रिस्पॉन्स attributes में दिखता है। इसके बाद, आपको यह जांचना होगा कि पिछले रिस्पॉन्स के id_str का उपयोग करके बनाया गया job प्रोसेसिंग पूरी कर चुका है या नहीं, जैसा कि रिस्पॉन्स में "status": "SUCCESS" से पता चलता है। इसका मतलब है कि डेटा डाउनलोड के लिए तैयार है। url field में डाउनलोड लिंक होता है।
हालाँकि ऊपर दिए गए उदाहरण में हम केवल एक job ID पास कर रहे हैं, व्यवहार में आप एक बार में कई jobs की स्थिति जाँचने के लिए job_ids पैरामीटर का उपयोग करेंगे, जिसमें अधिकतम 200 job IDs निर्दिष्ट की जा सकती हैं। इसके बाद, सूचीबद्ध url मान का उपयोग करके डेटा फ़ाइल डाउनलोड करें।
अंत में, फ़ाइल को एक्सट्रैक्ट करें।
फ़ाइल की सामग्री नीचे दिखाई गई है।

रीच और औसत आवृत्ति

GET stats/accounts/:account_id/reach/campaigns

निर्दिष्ट अभियानों के लिए रीच और औसत आवृत्ति एनालिटिक्स प्राप्त करें।

संसाधन URL

https://ads-api.x.com/stats/accounts/:account_id/reach/campaigns

पैरामीटर

अनुरोध का उदाहरण

GET https://ads-api.x.com/12/stats/accounts/18ce54d4x5t/reach/campaigns?campaign_ids=8fgzf&start_time=2017-05-19&end_time=2017-05-26

रिस्पॉन्स का उदाहरण

GET stats/accounts/:account_id/reach/funding_instruments

निर्दिष्ट funding instruments के लिए रीच और औसत फ़्रीक्वेंसी एनालिटिक्स प्राप्त करें।

संसाधन URL

https://ads-api.x.com/stats/accounts/:account_id/reach/funding_instruments

पैरामीटर

अनुरोध का उदाहरण

उदाहरण रिस्पॉन्स

समकालिक एनालिटिक्स

GET stats/accounts/:account_id

वर्तमान खाते के लिए समकालिक एनालिटिक्स प्राप्त करें। अधिकतम 7 दिनों की समयावधि (end_time - start_time) अनुमत है।

संसाधन URL

https://ads-api.x.com/12/stats/accounts/:account_id

पैरामीटर

अनुरोध का उदाहरण

उदाहरण रिस्पॉन्स

सक्रिय एंटिटीज़

GET stats/accounts/:account_id/active_entities

किसी निर्दिष्ट समय-अवधि में किन entities के analytics metrics में बदलाव हुआ है, इसका विवरण प्राप्त करें। इस endpoint का उपयोग हमारे analytics endpoints के साथ किया जाना चाहिए। इस endpoint के परिणाम बताते हैं कि analytics के लिए किन ads entities का अनुरोध करना है। उपयोग संबंधी दिशानिर्देशों के लिए हमारी Active Entities Guide देखें। परिवर्तन events घंटेवार buckets में उपलब्ध हैं।
  • start_time और end_time मान यह निर्दिष्ट करते हैं कि किन घंटेवार buckets को query करना है।
  • लौटाई गई data array में हर उस entity के लिए एक object शामिल होगा जिसे बाद के analytics अनुरोधों में शामिल किया जाना चाहिए।
  • महत्वपूर्ण: बाद के analytics अनुरोधों में जिन तिथियों को निर्दिष्ट किया जाना चाहिए, उनका निर्धारण activity_start_time और activity_end_time मानों के आधार पर किया जाना चाहिए।
    • ये मान उन समय-सीमाओं को दर्शाते हैं जिन पर संग्रहीत change events लागू होते हैं। यह प्रत्येक entity के लिए लौटाया जाता है।
नोट: अधिकतम 90 दिनों की समय-अवधि (end_time - start_time) की अनुमति है।

संसाधन URL

https://ads-api.x.com/12/stats/accounts/:account_id/active_entities

पैरामीटर

उदाहरण अनुरोध

GET https://ads-api.x.com/12/stats/accounts/18ce54d4x5t/active_entities?entity=PROMOTED_TWEET&start_time=2019-02-28&end_time=2019-03-01

उदाहरण रिस्पॉन्स