API на Google Analytics – извличане на идентификатор на персонализиран сегмент по името му

Използване на API на Google Analytics за извличане на данни от 20+ профила, за да мога да ги комбинирам всички в един набор от данни за анализ. (отделните профили са за различни домейни, които имат идентично съдържание)

Използвам персонализиран сегмент във всеки профил, за да премахна спама за препоръки. Дадох на персонализираните сегменти едно и също име, напр. „референт спам“.

Така че искам да използвам тези персонализирани сегменти, когато извличам записи с API. Въпреки това се натъкнаха на предизвикателство.

Мислех, че мога да прегледам сегментите и да получа идентификатора на всеки профил по името на персонализирания сегмент, напр. „спам за препоръчан потребител“. Първото нещо, което направих, беше да прегледам сегментите, за да видя какво ще ми даде. Така че направих следното:

# Authenticate and construct service.
service = get_service('analytics', 'v3', scope, key_file_location,
service_account_email)

segments = service.management().segments().list().execute()

for segment in segments.get('items', []):
  print 'Segment ID ' + segment.get('id') + " - " + segment.get('name')

Но това не извлича персонализираните сегменти, а само „стандартните“ сегменти на Google, например неща като:

Segment ID -1 - All Sessions
Segment ID -2 - New Users
Segment ID -3 - Returning Users
Segment ID -4 - Paid Traffic
Segment ID -5 - Organic Traffic
Segment ID -6 - Search Traffic
Segment ID -7 - Direct Traffic
Segment ID -8 - Referral Traffic
Segment ID -9 - Sessions with Conversions
Segment ID -10 - Sessions with Transactions
etc etc

Така че изглежда, че нямам достъп до персонализираните сегменти.

Вярвам, че това има нещо общо с факта, че използвам акаунт за услуга и той няма разрешения за достъп до персонализираните сегменти?

Дадох разрешение за четене на gmail адрес/потребител, генериран от API, за всички профили. Предполагам, че това не е достатъчно, за да получите персонализираните сегменти.

Изпускам ли нещо? Има ли начин да получите персонализиран сегмент с помощта на акаунт за услуга? Трябва ли да се удостоверявам с различен от Service Account?


person curtisp    schedule 22.07.2015    source източник


Отговори (2)


Намерих лесен начин да получа персонализирани подробности за сегменти от api.

Първо, трябва да имате достъп за управление на потребителите, вероятно администраторът може лесно да направи това.

Управление на сегменти#Задаване на наличност на сегмент

  • Посетете тази връзка и отидете на секцията „Задаване на наличност на сегмент“ там.
  • Приложете опцията „Разрешение за сътрудничество“, както е показано на връзката.

След като приложите разрешение, просто от вашия акаунт за услуга и api изпълнете същия код, както споменахте във вашия въпрос, или следвайте връзката по-долу с код, за да изброите всички подробности за сегментите.

Изброяване на потребителски сегменти

Този път ще можете да получите идентификатори на персонализирани сегменти. Опитвах се да получа подробности за персонализирания сегмент от последните 3-4 дни. Дано помогне.

person Harshit    schedule 24.07.2015
comment
Благодаря, току-що опитах това и работи. Въпреки че в крайна сметка използвах опция 2 в отговора си по-долу, извличайки източник и име на хост в основната си заявка за отчитане. Използвах филтър за източника в изявлението italic_service.data().ga().get( _italic за основното отчитане. Трябваше да направя филтъра за име на хост отделно в резултатите за получаване. Но сега, когато мога вижте персонализираните сегменти, бих могъл да се върна и да ги използвам вместо това. - person curtisp; 04.08.2015

Отговорът е, че API за основно отчитане на Analytics няма достъп до персонализираните сегменти. Те могат да бъдат достъпни само от API за управление на Analytics, както е посочено тук:

Извличане на потребителски персонализирани сегменти, за да ги приложите към заявки за основния API за отчитане. https://developers.google.com/analytics/devguides/config/mgmt/v3/

Така че изглежда, че първо ще трябва да се обадя на API за управление на Analytics, за да получа списък с персонализирани сегменти, които искам, и след това да използвам този списък в извикването на API за основно отчитане на Analytics, за да получа данни само за тези сегменти.

https://developers.google.com/analytics/devguides/reporting/core/v3/reference#segment

Като алтернатива мога да забравя за използването на персонализираните сегменти и вместо това да извлека име на хост на сесия и източник в данните за извикване на API за основно отчитане на Analytics, така че да мога да направя същия филтър в заявката или в отчета като моя персонализиран сегмент. Недостатъкът е, че спамът за препоръки е около 80% + от данните на Google Анализ, така че редовно ще извличам повече данни, отколкото ми трябват.

person curtisp    schedule 23.07.2015