Google Analytics Properties API
The properties API from Google Analytics — 20 operation(s) for properties.
Operations 249
Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay
Ask an LLM
“Which GA4 properties sit under my Google Analytics account?”
“Can I include trashed properties when listing what an account owns?”
Tell an agent
List the GA4 properties matching filter {filter}.
Show GA4 properties for {filter}, including soft-deleted ones: {showDeleted}.
Ask an LLM
“Can I spin up a new GA4 property through the API instead of the Analytics UI?”
“What reporting time zone and currency does a new GA4 property need?”
Tell an agent
Create a GA4 property named {displayName} under account {parent}.
Set up a new GA4 property {displayName} reporting in {timeZone} with currency {currencyCode}.
POST
/v1beta/{entity}:runAccessReport
Report who read GA4 reporting data · Analyticsadmin properties run access report
#
Ask an LLM
“Who on my team has been reading Google Analytics reports, and when?”
“How far back do data access records go for a GA4 property or account?”
Tell an agent
Run a data access report for {entity} covering {dateRanges}.
Show the top {limit} users who accessed reporting data on {entity}.
DELETE
/v1beta/{name}
Remove a Google Ads link by resource name · Analyticsadmin properties google ads links delete
#
Ask an LLM
“Can I unlink a Google Ads account from a GA4 property using the link's resource name?”
“What happens to the connection when a Google Ads link resource is deleted?”
Tell an agent destructive · confirm first
Delete the Google Ads link {name}.
Disconnect Google Ads from the property by removing link resource {name}.
GET
/v1beta/{name}
Look up one Measurement Protocol secret · Analyticsadmin properties data streams measurement protocol secrets get
#
Ask an LLM
“Can I fetch a single Measurement Protocol secret by its full resource name?”
“What details come back for one GA4 Measurement Protocol API secret?”
Tell an agent
Look up the Measurement Protocol secret at {name}.
Fetch secret resource {name} and show its display name and value.
PATCH
/v1beta/{name}
Update a Google Ads link by resource name · Analyticsadmin properties google ads links patch
#
Ask an LLM
“Can I turn ads personalization on or off for an existing Google Ads link?”
“Which Google Ads link settings can be changed after it is created?”
Tell an agent
Update Google Ads link {name} so ads personalization is {adsPersonalizationEnabled}.
Patch the fields {updateMask} on Google Ads link resource {name}.
POST
/v1beta/{name}:archive
Archive a custom metric by resource name · Analyticsadmin properties custom metrics archive
#
Ask an LLM
“Can I retire a custom metric I no longer need from a GA4 property?”
“What does archiving do to a custom metric identified by its full resource name?”
Tell an agent destructive · confirm first
Archive the custom metric {name}.
Retire custom metric resource {name} so it stops appearing in reports.
GET
/v1beta/{parent}/conversionEvents
List conversion events on a GA4 property · Analyticsadmin properties conversion events list
#
Ask an LLM
“Which events are marked as conversions on my GA4 property?”
“Does the conversion events list come back empty when none are configured?”
Tell an agent
List the conversion events under {parent}.
Show up to {pageSize} conversions configured on property {parent}.
POST
/v1beta/{parent}/conversionEvents
Mark an event as a conversion · Analyticsadmin properties conversion events create
#
Ask an LLM
“Can I flag an event like purchase as a conversion in GA4 programmatically?”
“Is it possible to set a default conversion value when marking an event as a conversion?”
Tell an agent
Mark event {eventName} as a conversion on {parent}.
Create a conversion for {eventName} on {parent} counted {countingMethod}.
GET
/v1beta/{parent}/customDimensions
List custom dimensions on a property · Analyticsadmin properties custom dimensions list
#
Ask an LLM
“What custom dimensions have been defined on this GA4 property?”
“Can I page through a long set of custom dimensions for one property?”
Tell an agent
List custom dimensions on {parent}.
Return the next page {pageToken} of custom dimensions for {parent}.
POST
/v1beta/{parent}/customDimensions
Create a custom dimension · Analyticsadmin properties custom dimensions create
#
Ask an LLM
“Can I register an event parameter as a custom dimension in GA4?”
“What scope options exist when defining a new custom dimension?”
Tell an agent
Create custom dimension {displayName} from parameter {parameterName} on {parent}.
Add a {scope}-scoped custom dimension for parameter {parameterName} to {parent}.
GET
/v1beta/{parent}/customMetrics
List custom metrics on a property · Analyticsadmin properties custom metrics list
#
Ask an LLM
“Which custom metrics exist on my GA4 property right now?”
“Is there a page size limit when fetching a property's custom metrics?”
Tell an agent
List custom metrics under {parent}.
Show {pageSize} custom metrics per page for {parent}.
POST
/v1beta/{parent}/customMetrics
Create a custom metric · Analyticsadmin properties custom metrics create
#
Ask an LLM
“Can I turn a numeric event parameter into a custom metric?”
“What measurement units can a GA4 custom metric use, like currency or seconds?”
Tell an agent
Create custom metric {displayName} from parameter {parameterName} on {parent}.
Define a custom metric on {parent} measured in {measurementUnit} for {parameterName}.
GET
/v1beta/{parent}/dataStreams
List data streams on a property · Analyticsadmin properties data streams list
#
Ask an LLM
“What web and app data streams feed into this GA4 property?”
“Can I see all of a property's streams in one paged call?”
Tell an agent
List the data streams on {parent}.
Get the page {pageToken} of streams belonging to {parent}.
POST
/v1beta/{parent}/dataStreams
Create a web or app data stream · Analyticsadmin properties data streams create
#
Ask an LLM
“Can I add a new website stream to a GA4 property from code?”
“What stream types can I create, web, Android or iOS?”
Tell an agent
Create a {type} data stream named {displayName} on {parent}.
Add a web stream {displayName} for site {webStreamData} to {parent}.
GET
/v1beta/{parent}/firebaseLinks
List Firebase links on a property · Analyticsadmin properties firebase links list
#
Ask an LLM
“Is my GA4 property linked to a Firebase project?”
“Can a property have more than one Firebase link?”
Tell an agent
List Firebase links under {parent}.
Check which Firebase project is attached to {parent}.
POST
/v1beta/{parent}/firebaseLinks
Link a Firebase project · Analyticsadmin properties firebase links create
#
Ask an LLM
“Can I connect a Firebase project to my GA4 property through the API?”
“What happens if the property already has a Firebase link when I add one?”
Tell an agent
Link Firebase project {project} to {parent}.
Attach Firebase project {project} as the single Firebase link for {parent}.
GET
/v1beta/{parent}/googleAdsLinks
List Google Ads links on a property · Analyticsadmin properties google ads links list
#
Ask an LLM
“Which Google Ads accounts are linked to this GA4 property?”
“Can I page through Google Ads links when a property has many?”
Tell an agent
List Google Ads links on {parent}.
Show {pageSize} Google Ads links at a time for {parent}.
POST
/v1beta/{parent}/googleAdsLinks
Link a Google Ads account · Analyticsadmin properties google ads links create
#
Ask an LLM
“Can I link a Google Ads customer ID to GA4 without using the admin screen?”
“Is ads personalization settable at the moment a Google Ads link is created?”
Tell an agent
Link Google Ads customer {customerId} to {parent}.
Create a Google Ads link on {parent} for {customerId} with personalization {adsPersonalizationEnabled}.
GET
/v1beta/{parent}/measurementProtocolSecrets
List Measurement Protocol secrets · Analyticsadmin properties data streams measurement protocol secrets list
#
Ask an LLM
“What Measurement Protocol API secrets exist on a data stream?”
“Can I list the secrets used to send server-side events to GA4?”
Tell an agent
List Measurement Protocol secrets under {parent}.
Show all API secrets for server-side hits on stream {parent}.
POST
/v1beta/{parent}/measurementProtocolSecrets
Create a Measurement Protocol secret · Analyticsadmin properties data streams measurement protocol secrets create
#
Ask an LLM
“Can I generate a new API secret for sending Measurement Protocol events?”
“Do I need to acknowledge user data collection before creating a secret?”
Tell an agent
Create a Measurement Protocol secret named {displayName} under {parent}.
Generate a server-side events API secret on stream {parent}.
POST
/v1beta/{property}:acknowledgeUserDataCollection
Acknowledge user data collection terms · Analyticsadmin properties acknowledge user data collection
#
Ask an LLM
“Why can't I create a Measurement Protocol secret until I accept user data collection terms?”
“Can I accept the GA4 user data collection terms through the API?”
Tell an agent
Acknowledge user data collection for {property}.
Accept the data collection terms on {property} with acknowledgement {acknowledgement}.
POST
/v1beta/{name}:query
Fetch users in an audience export · Analyticsdata properties audience exports query
#
Ask an LLM
“How can I pull the actual users from an audience export once it is ready?”
“Can I page through an exported audience with an offset and limit?”
Tell an agent
Fetch the users in audience export {name}.
Return {limit} rows starting at {offset} from audience export {name}.
GET
/v1beta/{parent}/audienceExports
List audience exports for a property · Analyticsdata properties audience exports list
#
Ask an LLM
“Which audience exports have already been created for my property?”
“Can I reuse an existing audience export instead of making a new one?”
Tell an agent
List audience exports under {parent}.
Show existing audience exports for {parent} so I can reuse one.
POST
/v1beta/{parent}/audienceExports
Start an audience export · Analyticsdata properties audience exports create
#
Ask an LLM
“Can I export the members of a GA4 audience for use elsewhere?”
“Is an audience export ready immediately or does it build in the background?”
Tell an agent
Create an audience export of {audience} on {parent}.
Export audience {audience} for {parent} with dimensions {dimensions}.
POST
/v1beta/{property}:batchRunPivotReports
Run several pivot reports at once · Analyticsdata properties batch run pivot reports
#
Ask an LLM
“Can I run multiple pivot reports in a single request?”
“Do all pivot reports in one batch have to target the same property?”
Tell an agent
Run this batch of pivot reports {requests} on {property}.
Batch these pivot table requests against {property}: {requests}.
POST
/v1beta/{property}:batchRunReports
Run several standard reports at once · Analyticsdata properties batch run reports
#
Ask an LLM
“Can I send several GA4 report requests together to save round trips?”
“Is there a single call that returns multiple core reports for one property?”
Tell an agent
Run the batch of reports {requests} for {property}.
Execute these report definitions together on {property}: {requests}.
POST
/v1beta/{property}:checkCompatibility
Check which dimensions and metrics combine · Analyticsdata properties check compatibility
#
Ask an LLM
“Why does my GA4 report fail when I mix certain dimensions and metrics?”
“Which dimensions can I still add to a report without breaking it?”
Tell an agent
Check whether dimensions {dimensions} and metrics {metrics} work together on {property}.
List fields compatible with my report on {property}, filtered by {compatibilityFilter}.
POST
/v1beta/{property}:runPivotReport
Run a pivot report · Analyticsdata properties run pivot report
#
Ask an LLM
“Can I build a pivot table of GA4 event data through the API?”
“In a pivot report, why do dimensions only show up when included in a pivot?”
Tell an agent
Run a pivot report on {property} with pivots {pivots}.
Pivot metrics {metrics} by {dimensions} for {property} over {dateRanges}.
POST
/v1beta/{property}:runRealtimeReport
Run a realtime report · Analyticsdata properties run realtime report
#
Ask an LLM
“How many people are on my site right now according to GA4?”
“Can realtime data be broken down by minute ranges?”
Tell an agent
Show realtime {metrics} for {property}.
Get live activity on {property} for the last {minuteRanges} split by {dimensions}.
Ask an LLM
“How do I pull sessions and users by country from GA4?”
“Can I sort and limit rows when running a core Google Analytics report?”
Tell an agent
Run a report on {property} of {metrics} by {dimensions}.
Report {metrics} for {property} across {dateRanges}, top {limit} rows.
POST
/v1alpha/properties/{propertiesId}:acknowledgeUserDataCollection
Accept data collection terms (v1alpha) · Acknowledges the terms of user data collection for the specified property
#
Ask an LLM
“On the v1alpha admin API, where do I confirm the user data collection acknowledgement for a property?”
“Is the alpha acknowledgement call a prerequisite for Measurement Protocol secrets?”
Tell an agent
Using the alpha admin API, confirm user data collection for property {propertiesId}.
Send acknowledgement {acknowledgement} via v1alpha for property {propertiesId}.
POST
/v1alpha/properties
Create a property via the alpha admin API · Creates a Google Analytics property with the specified location and attributes
#
Ask an LLM
“Does the v1alpha admin API let me create a property with an industry category?”
“Can the alpha create call set a property type such as ordinary or subproperty?”
Tell an agent
Via v1alpha, create property {displayName} in industry {industryCategory}.
Make an alpha-API property {displayName} of type {propertyType} under {parent}.
GET
/v1alpha/properties
List properties via the alpha admin API · Returns child Properties under the specified parent Account
#
Ask an LLM
“With the v1alpha admin API, can I list every property I can see under an account?”
“Are trashed properties hidden unless I ask the alpha list call for them?”
Tell an agent
Using v1alpha, list properties that match {filter}.
Page through alpha property results {pageSize} at a time for {filter}.
POST
/v1alpha/properties:createRollupProperty
Create a roll-up property with sources · Create a roll-up property and all roll-up property source links
#
Ask an LLM
“Can I combine several GA4 properties into one roll-up property?”
“What source properties does a new roll-up property pull data from?”
Tell an agent
Create a roll-up property {rollupProperty} fed by {sourceProperties}.
Build a roll-up that aggregates properties {sourceProperties}.
DELETE
/v1alpha/properties/{propertiesId}
Trash a property (v1alpha) · Marks target Property as soft-deleted (ie: "trashed") and returns it
#
Ask an LLM
“If I trash a property with the v1alpha API, can it still be restored?”
“How long before a property soft-deleted via alpha is permanently purged?”
Tell an agent destructive · confirm first
Using the alpha API, move property {propertiesId} to the trash.
Soft-delete property {propertiesId} through v1alpha.
GET
/v1alpha/properties/{propertiesId}
Get one property (v1alpha) · Lookup for a single GA Property
#
Ask an LLM
“Through the alpha admin API, what settings does a single property report?”
“Can v1alpha tell me a property's service level and time zone?”
Tell an agent
Using v1alpha, fetch property {propertiesId}.
Show the alpha-API record for property {propertiesId}, including its service level.
Ask an LLM
“Can I rename a property or change its currency via the v1alpha admin API?”
“Which property fields does the alpha update accept in its update mask?”
Tell an agent
Via v1alpha, rename property {propertiesId} to {displayName}.
Change the alpha property {propertiesId} time zone to {timeZone}.
GET
/v1alpha/properties/{propertiesId}/attributionSettings
View a property's attribution settings · Lookup for a AttributionSettings singleton
#
Ask an LLM
“Which attribution model is my GA4 property using for reporting?”
“What lookback windows are set for acquisition and other key events?”
Tell an agent
Show attribution settings for property {propertiesId}.
Tell me the reporting attribution model on property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/attributionSettings
Change a property's attribution settings · Updates attribution settings on a property
#
Ask an LLM
“Can I switch my property from data-driven to last click attribution?”
“Is the conversion lookback window adjustable through the API?”
Tell an agent
Set the reporting attribution model on property {propertiesId} to {reportingAttributionModel}.
Change the acquisition lookback on property {propertiesId} to {acquisitionConversionEventLookbackWindow}.
GET
/v1alpha/properties/{propertiesId}/dataRetentionSettings
View data retention settings (v1alpha) · Returns the singleton data retention settings for this property
#
Ask an LLM
“Using the alpha admin API, how long is event data retained on a property?”
“Does v1alpha show whether user data resets on new activity?”
Tell an agent
Via v1alpha, show how long property {propertiesId} keeps event data.
Read alpha retention settings for property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/dataRetentionSettings
Change data retention settings (v1alpha) · Updates the singleton data retention settings for this property
#
Ask an LLM
“With the v1alpha API, can I extend event data retention to 14 months?”
“Can the alpha retention update turn off resetting user data on new activity?”
Tell an agent
Via v1alpha, set event data retention on property {propertiesId} to {eventDataRetention}.
Using alpha, set user data retention for property {propertiesId} to {userDataRetention}.
GET
/v1alpha/properties/{propertiesId}/googleSignalsSettings
View Google Signals settings · Lookup for Google Signals settings for a property
#
Ask an LLM
“Is Google Signals turned on for my GA4 property?”
“Has consent been recorded for Google Signals on this property?”
Tell an agent
Show Google Signals status for property {propertiesId}.
Check whether property {propertiesId} has Google Signals consent.
PATCH
/v1alpha/properties/{propertiesId}/googleSignalsSettings
Turn Google Signals on or off · Updates Google Signals settings for a property
#
Ask an LLM
“Can I enable Google Signals for cross-device reporting through the API?”
“What consent value does Google Signals need before it can be switched on?”
Tell an agent
Set Google Signals on property {propertiesId} to {state}.
Record Google Signals consent {consent} for property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/reportingIdentitySettings
View reporting identity settings · Returns the reporting identity settings for this property
#
Ask an LLM
“Which reporting identity is my property using, blended or device-based?”
“Where can I read the reporting identity configured for a GA4 property?”
Tell an agent
Show the reporting identity for property {propertiesId}.
Tell me how property {propertiesId} identifies users in reports.
PATCH
/v1alpha/properties/{propertiesId}/reportingIdentitySettings
Change the reporting identity · Updates the reporting identity settings for this property
#
Ask an LLM
“Can I switch my property's reporting identity to device-based through the API?”
“Is the reporting identity setting editable after a property is live?”
Tell an agent
Set the reporting identity on property {propertiesId} to {reportingIdentity}.
Switch property {propertiesId} to reporting identity {reportingIdentity} using mask {updateMask}.
GET
/v1alpha/properties/{propertiesId}/userProvidedDataSettings
View user-provided data settings · Looks up settings related to user-provided data for a property
#
Ask an LLM
“Is user-provided data collection enabled on my GA4 property?”
“What settings control user-provided data like hashed emails on a property?”
Tell an agent
Show user-provided data settings for property {propertiesId}.
Look up whether property {propertiesId} collects user-provided data.
POST
/v1alpha/properties:provisionSubproperty
Create a subproperty with an event filter · Create a subproperty and a subproperty event filter that applies to the created…
#
Ask an LLM
“Can I carve out a subproperty that only receives some of a property's events?”
“When provisioning a subproperty, can custom dimensions and metrics sync automatically?”
Tell an agent
Provision subproperty {subproperty} with event filter {subpropertyEventFilter}.
Create subproperty {subproperty} using sync mode {customDimensionAndMetricSynchronizationMode}.
POST
/v1alpha/properties/{propertiesId}:runAccessReport
Audit reporting data access (v1alpha) · Returns a customized report of data access records
#
Ask an LLM
“Using the alpha admin API, can I audit which users viewed a property's reports?”
“Does the v1alpha access report let me include users who never accessed data?”
Tell an agent
Via v1alpha, run an access audit for property {propertiesId} over {dateRanges}.
Alpha access report on property {propertiesId}, including all users: {includeAllUsers}.
POST
/v1alpha/properties/{propertiesId}:submitUserDeletion
Request deletion of a user's data · Submits a request for user deletion for a property
#
Ask an LLM
“How do I delete everything GA4 holds about one user for a privacy request?”
“Can I request user deletion by client ID or app instance ID instead of user ID?”
Tell an agent destructive · confirm first
Submit a user deletion for user {userId} on property {propertiesId}.
Erase data for client {clientId} from property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/accessBindings:batchCreate
Grant access to several users at once · Creates information about multiple access bindings to an account or property
#
Ask an LLM
“Can I add many users to a property in one all-or-nothing request?”
“If one access binding fails in a batch, are the others still created?”
Tell an agent
Grant these access bindings on property {propertiesId}: {requests}.
Batch add users {requests} to property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/accessBindings:batchDelete
Remove several users' access at once · Deletes information about multiple users' links to an account or property
#
Ask an LLM
“Can I revoke access for multiple users on a property in a single call?”
“Is there a bulk way to remove people from a GA4 property?”
Tell an agent destructive · confirm first
Remove access bindings {requests} from property {propertiesId}.
Batch revoke these users on property {propertiesId}: {requests}.
GET
/v1alpha/properties/{propertiesId}/accessBindings:batchGet
Look up several access bindings by name · Gets information about multiple access bindings to an account or property
#
Ask an LLM
“Can I fetch a handful of specific access bindings by name in one request?”
“What roles do these particular users hold on my property?”
Tell an agent
Get access bindings {names} on property {propertiesId}.
Batch fetch the named bindings {names} for property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/accessBindings:batchUpdate
Change roles for several users at once · Updates information about multiple access bindings to an account or property
#
Ask an LLM
“Can I update the roles of many users on a property together?”
“Is there a bulk edit for access binding roles?”
Tell an agent
Update these access bindings on property {propertiesId}: {requests}.
Batch change user roles {requests} on property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/accessBindings
Give a user access to a property · Creates an access binding on an account or property
#
Ask an LLM
“Can I add a colleague as a viewer on a GA4 property programmatically?”
“Which roles can I assign when granting someone property access?”
Tell an agent
Grant {user} the roles {roles} on property {propertiesId}.
Add user {user} to property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/accessBindings
List who has access to a property · Lists all access bindings on an account or property
#
Ask an LLM
“Who has access to my GA4 property and with what roles?”
“Can I page through every user permission on a property?”
Tell an agent
List all access bindings on property {propertiesId}.
Show users and roles on property {propertiesId}, {pageSize} per page.
DELETE
/v1alpha/properties/{propertiesId}/accessBindings/{accessBindingsId}
Revoke one user's access · Deletes an access binding on an account or property
#
Ask an LLM
“How do I remove a single person's access to a GA4 property?”
“Does deleting an access binding immediately cut off that user?”
Tell an agent destructive · confirm first
Delete access binding {accessBindingsId} from property {propertiesId}.
Revoke the permission {accessBindingsId} on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/accessBindings/{accessBindingsId}
Get one user's access binding · Gets information about an access binding
#
Ask an LLM
“What role does a specific access binding give on my property?”
“Can I look up a single permission entry by its binding ID?”
Tell an agent
Show access binding {accessBindingsId} on property {propertiesId}.
Tell me which user and roles binding {accessBindingsId} holds on property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/accessBindings/{accessBindingsId}
Change one user's roles · Updates an access binding on an account or property
#
Ask an LLM
“Can I promote a viewer to editor on my property through the API?”
“Which part of an existing access binding can be edited?”
Tell an agent
Set roles {roles} on access binding {accessBindingsId} for property {propertiesId}.
Update binding {accessBindingsId} on property {propertiesId} to grant {roles}.
POST
/v1alpha/properties/{propertiesId}/adSenseLinks
Link an AdSense account · Creates an AdSenseLink
#
Ask an LLM
“Can I link my AdSense ad client to a GA4 property with the API?”
“What identifier does an AdSense link need?”
Tell an agent
Link AdSense ad client {adClientCode} to property {propertiesId}.
Create an AdSense link for code {adClientCode} on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/adSenseLinks
List AdSense links on a property · Lists AdSenseLinks on a property
#
Ask an LLM
“Which AdSense accounts are connected to my GA4 property?”
“Can I page through a property's AdSense links?”
Tell an agent
List AdSense links on property {propertiesId}.
Show AdSense connections for property {propertiesId}, page {pageToken}.
DELETE
/v1alpha/properties/{propertiesId}/adSenseLinks/{adSenseLinksId}
Unlink an AdSense account · Deletes an AdSenseLink
#
Ask an LLM
“How can I disconnect AdSense from my GA4 property?”
“Is removing an AdSense link reversible?”
Tell an agent destructive · confirm first
Delete AdSense link {adSenseLinksId} from property {propertiesId}.
Unlink AdSense connection {adSenseLinksId} on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/adSenseLinks/{adSenseLinksId}
Get one AdSense link · Looks up a single AdSenseLink
#
Ask an LLM
“Which ad client code does a particular AdSense link point to?”
“Can I retrieve a single AdSense link by its ID?”
Tell an agent
Show AdSense link {adSenseLinksId} on property {propertiesId}.
Look up the ad client behind AdSense link {adSenseLinksId} for property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/audiences/{audiencesId}:archive
Archive an audience · Archives an Audience on a property
#
Ask an LLM
“Can I archive a GA4 audience I no longer use?”
“What happens to an audience once it has been archived?”
Tell an agent destructive · confirm first
Archive audience {audiencesId} on property {propertiesId}.
Retire the audience {audiencesId} from property {propertiesId}.
Ask an LLM
“Can I define a new remarketing audience with filter clauses via the API?”
“How long can membership last in an audience I create?”
Tell an agent
Create audience {displayName} on property {propertiesId} with filters {filterClauses}.
Build an audience {displayName} lasting {membershipDurationDays} days on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/audiences
List audiences on a property · Lists Audiences on a property
#
Ask an LLM
“What audiences are defined on my GA4 property?”
“Why don't default audiences show their filter definitions when listed?”
Tell an agent
List audiences on property {propertiesId}.
Show {pageSize} audiences per page for property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/audiences/{audiencesId}
Get one audience's definition · Lookup for a single Audience
#
Ask an LLM
“What filters define a specific audience on my property?”
“Are audiences created before 2020 retrievable?”
Tell an agent
Show audience {audiencesId} on property {propertiesId}.
Fetch the filter clauses of audience {audiencesId} in property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/audiences/{audiencesId}
Update an audience · Updates an Audience on a property
#
Ask an LLM
“Can I rename an existing audience or change its description?”
“Is ads personalization changeable on an audience after creation?”
Tell an agent
Rename audience {audiencesId} on property {propertiesId} to {displayName}.
Update audience {audiencesId} in property {propertiesId} with description {description}.
POST
/v1alpha/properties/{propertiesId}/bigQueryLinks
Set up a BigQuery export · Creates a BigQueryLink
#
Ask an LLM
“Can I start exporting GA4 events to BigQuery through the API?”
“Can the BigQuery export run daily, streaming, or both?”
Tell an agent
Link property {propertiesId} to BigQuery project {project} in {datasetLocation}.
Create a BigQuery export for property {propertiesId} with streaming {streamingExportEnabled}.
GET
/v1alpha/properties/{propertiesId}/bigQueryLinks
List BigQuery export links · Lists BigQuery Links on a property
#
Ask an LLM
“Is my GA4 property exporting to BigQuery, and to which project?”
“Can I list every BigQuery link on a property?”
Tell an agent
List BigQuery links on property {propertiesId}.
Show BigQuery export connections for property {propertiesId}, {pageSize} at a time.
DELETE
/v1alpha/properties/{propertiesId}/bigQueryLinks/{bigQueryLinksId}
Stop a BigQuery export · Deletes a BigQueryLink on a property
#
Ask an LLM
“How do I turn off the BigQuery export for a GA4 property?”
“Does deleting a BigQuery link remove data already exported?”
Tell an agent destructive · confirm first
Delete BigQuery link {bigQueryLinksId} from property {propertiesId}.
Stop exporting via BigQuery link {bigQueryLinksId} on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/bigQueryLinks/{bigQueryLinksId}
Get one BigQuery link · Lookup for a single BigQuery Link
#
Ask an LLM
“What dataset location and export mode does a BigQuery link use?”
“Can I inspect one BigQuery link by its ID?”
Tell an agent
Show BigQuery link {bigQueryLinksId} on property {propertiesId}.
Check export settings of BigQuery link {bigQueryLinksId} for property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/bigQueryLinks/{bigQueryLinksId}
Change BigQuery export settings · Updates a BigQueryLink
#
Ask an LLM
“Can I switch an existing BigQuery export from daily to fresh daily?”
“Can I add excluded events to a BigQuery link that is already set up?”
Tell an agent
Update BigQuery link {bigQueryLinksId} on property {propertiesId} to exclude events {excludedEvents}.
Turn daily export {dailyExportEnabled} on BigQuery link {bigQueryLinksId} for property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/calculatedMetrics
Create a calculated metric · Creates a CalculatedMetric
#
Ask an LLM
“Can I define a metric as a formula of other metrics in GA4?”
“What units can a calculated metric be expressed in?”
Tell an agent
Create calculated metric {displayName} with formula {formula} on property {propertiesId}.
Add a calculated metric {calculatedMetricId} in unit {metricUnit} to property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/calculatedMetrics
List calculated metrics · Lists CalculatedMetrics on a property
#
Ask an LLM
“What calculated metrics exist on my GA4 property?”
“Can I page through a property's formula-based metrics?”
Tell an agent
List calculated metrics on property {propertiesId}.
Show formula metrics for property {propertiesId}, page {pageToken}.
DELETE
/v1alpha/properties/{propertiesId}/calculatedMetrics/{calculatedMetricsId}
Delete a calculated metric · Deletes a CalculatedMetric on a property
#
Ask an LLM
“Can I permanently remove a calculated metric from my property?”
“Is there a way to delete a formula metric I created by mistake?”
Tell an agent destructive · confirm first
Delete calculated metric {calculatedMetricsId} from property {propertiesId}.
Remove formula metric {calculatedMetricsId} on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/calculatedMetrics/{calculatedMetricsId}
Get one calculated metric · Lookup for a single CalculatedMetric
#
Ask an LLM
“What formula is behind a particular calculated metric?”
“Does a calculated metric report any invalid metric references?”
Tell an agent
Show calculated metric {calculatedMetricsId} on property {propertiesId}.
Read the formula of calculated metric {calculatedMetricsId} in property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/calculatedMetrics/{calculatedMetricsId}
Update a calculated metric · Updates a CalculatedMetric on a property
#
Ask an LLM
“Can I change the formula of an existing calculated metric?”
“Which fields of a calculated metric can I rename or edit?”
Tell an agent
Change the formula of calculated metric {calculatedMetricsId} on property {propertiesId} to {formula}.
Rename calculated metric {calculatedMetricsId} in property {propertiesId} to {displayName}.
POST
/v1alpha/properties/{propertiesId}/channelGroups
Create a custom channel group · Creates a ChannelGroup
#
Ask an LLM
“Can I build my own channel grouping rules for traffic sources?”
“Can a new channel group be made the primary one for reports?”
Tell an agent
Create channel group {displayName} on property {propertiesId} with rules {groupingRule}.
Add a channel grouping {displayName} to property {propertiesId}, primary {primary}.
GET
/v1alpha/properties/{propertiesId}/channelGroups
List channel groups · Lists ChannelGroups on a property
#
Ask an LLM
“Which channel groupings are set up on my GA4 property?”
“Can I see both system-defined and custom channel groups?”
Tell an agent
List channel groups on property {propertiesId}.
Show traffic channel groupings for property {propertiesId}, {pageSize} per page.
DELETE
/v1alpha/properties/{propertiesId}/channelGroups/{channelGroupsId}
Delete a channel group · Deletes a ChannelGroup on a property
#
Ask an LLM
“Can I delete a custom channel grouping I no longer want?”
“Is it possible to remove a channel group from a property via the API?”
Tell an agent destructive · confirm first
Delete channel group {channelGroupsId} from property {propertiesId}.
Remove the custom channel grouping {channelGroupsId} on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/channelGroups/{channelGroupsId}
Get one channel group · Lookup for a single ChannelGroup
#
Ask an LLM
“What grouping rules does a specific channel group apply?”
“Is a given channel group system-defined or custom?”
Tell an agent
Show channel group {channelGroupsId} on property {propertiesId}.
Read the rules of channel group {channelGroupsId} in property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/channelGroups/{channelGroupsId}
Update a channel group · Updates a ChannelGroup
#
Ask an LLM
“Can I edit the rules of an existing channel group?”
“How can I make an existing channel group the primary grouping?”
Tell an agent
Update grouping rules of channel group {channelGroupsId} on property {propertiesId} to {groupingRule}.
Make channel group {channelGroupsId} primary {primary} on property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/conversionEvents
Create a conversion event (deprecated, v1alpha) · Deprecated: Use `CreateKeyEvent` instead
#
Ask an LLM
“Is the v1alpha conversion event create call deprecated in favor of key events?”
“With the old alpha conversion endpoint, can I set a default conversion value?”
Tell an agent
Via the deprecated v1alpha endpoint, mark {eventName} as a conversion on property {propertiesId}.
Using legacy alpha conversions, add {eventName} with default value {defaultConversionValue} to property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/conversionEvents
List conversion events (deprecated, v1alpha) · Deprecated: Use `ListKeyEvents` instead
#
Ask an LLM
“On the alpha API, can I still list conversion events even though key events replaced them?”
“Does the deprecated v1alpha conversion list return nothing when none exist?”
Tell an agent
Using the deprecated alpha endpoint, list conversion events for property {propertiesId}.
Via v1alpha legacy conversions, page {pageToken} for property {propertiesId}.
DELETE
/v1alpha/properties/{propertiesId}/conversionEvents/{conversionEventsId}
Delete a conversion event (deprecated, v1alpha) · Deprecated: Use `DeleteKeyEvent` instead
#
Ask an LLM
“Through the deprecated alpha endpoint, can I unmark an event as a conversion?”
“Is deleting a v1alpha conversion event the same as removing a key event?”
Tell an agent destructive · confirm first
Using legacy v1alpha, delete conversion event {conversionEventsId} from property {propertiesId}.
Unmark alpha conversion {conversionEventsId} on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/conversionEvents/{conversionEventsId}
Get a conversion event (deprecated, v1alpha) · Deprecated: Use `GetKeyEvent` instead
#
Ask an LLM
“Can the legacy v1alpha API still return one conversion event by ID?”
“What counting method does a single alpha conversion event use?”
Tell an agent
Using deprecated v1alpha, fetch conversion event {conversionEventsId} on property {propertiesId}.
Show legacy alpha conversion {conversionEventsId} for property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/conversionEvents/{conversionEventsId}
Update a conversion event (deprecated, v1alpha) · Deprecated: Use `UpdateKeyEvent` instead
#
Ask an LLM
“Can I change the counting method of a conversion through the deprecated v1alpha API?”
“Is the alpha conversion update still supported now that key events exist?”
Tell an agent
Via deprecated v1alpha, set counting method {countingMethod} on conversion {conversionEventsId} in property {propertiesId}.
Legacy alpha: change default value of conversion {conversionEventsId} on property {propertiesId} to {defaultConversionValue}.
POST
/v1alpha/properties/{propertiesId}/customDimensions/{customDimensionsId}:archive
Archive a custom dimension (v1alpha) · Archives a CustomDimension on a property
#
Ask an LLM
“Using the v1alpha API, can I archive a custom dimension I stopped collecting?”
“Does archiving a dimension through alpha free up a custom dimension slot?”
Tell an agent destructive · confirm first
Via v1alpha, archive custom dimension {customDimensionsId} on property {propertiesId}.
Alpha API: retire dimension {customDimensionsId} from property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/customDimensions
Create a custom dimension (v1alpha) · Creates a CustomDimension
#
Ask an LLM
“Through the v1alpha API, can I create a user-scoped custom dimension?”
“Why is sending user IDs in an alpha custom dimension against the terms?”
Tell an agent
Via v1alpha, create dimension {displayName} for parameter {parameterName} on property {propertiesId}.
Alpha API: add scope {scope} dimension {displayName} to property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/customDimensions
List custom dimensions (v1alpha) · Lists CustomDimensions on a property
#
Ask an LLM
“With the alpha admin API, which custom dimensions does a property define?”
“Can I page v1alpha custom dimensions with a page token?”
Tell an agent
Using v1alpha, list custom dimensions for property {propertiesId}.
Alpha API: show dimensions on property {propertiesId}, {pageSize} per page.
GET
/v1alpha/properties/{propertiesId}/customDimensions/{customDimensionsId}
Get a custom dimension (v1alpha) · Lookup for a single CustomDimension
#
Ask an LLM
“Using v1alpha, which event parameter backs a given custom dimension?”
“Can the alpha API show a single dimension's scope?”
Tell an agent
Via v1alpha, fetch custom dimension {customDimensionsId} on property {propertiesId}.
Alpha API: show the parameter behind dimension {customDimensionsId} in property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/customDimensions/{customDimensionsId}
Update a custom dimension (v1alpha) · Updates a CustomDimension on a property
#
Ask an LLM
“With the alpha API, can I rename a custom dimension or edit its description?”
“Can v1alpha change whether a dimension disallows ads personalization?”
Tell an agent
Via v1alpha, rename dimension {customDimensionsId} on property {propertiesId} to {displayName}.
Alpha API: set disallow ads personalization {disallowAdsPersonalization} on dimension {customDimensionsId} in property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/customMetrics/{customMetricsId}:archive
Archive a custom metric (v1alpha) · Archives a CustomMetric on a property
#
Ask an LLM
“Can the v1alpha API archive a custom metric by its ID?”
“After an alpha archive, does the metric disappear from new reports?”
Tell an agent destructive · confirm first
Via v1alpha, archive custom metric {customMetricsId} on property {propertiesId}.
Alpha API: retire metric {customMetricsId} from property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/customMetrics
Create a custom metric (v1alpha) · Creates a CustomMetric
#
Ask an LLM
“With v1alpha, can I create a custom metric flagged as restricted cost or revenue data?”
“Which scope does an alpha-created custom metric use?”
Tell an agent
Via v1alpha, create metric {displayName} for parameter {parameterName} on property {propertiesId}.
Alpha API: add metric {displayName} with restricted type {restrictedMetricType} to property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/customMetrics
List custom metrics (v1alpha) · Lists CustomMetrics on a property
#
Ask an LLM
“Using the alpha admin API, what custom metrics are on a property?”
“Does v1alpha paginate the custom metrics list?”
Tell an agent
Via v1alpha, list custom metrics for property {propertiesId}.
Alpha API: page {pageToken} of metrics on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/customMetrics/{customMetricsId}
Get a custom metric (v1alpha) · Lookup for a single CustomMetric
#
Ask an LLM
“Through v1alpha, what measurement unit does one custom metric use?”
“Can the alpha API return a single custom metric's parameter name?”
Tell an agent
Via v1alpha, fetch custom metric {customMetricsId} on property {propertiesId}.
Alpha API: show unit and parameter of metric {customMetricsId} in property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/customMetrics/{customMetricsId}
Update a custom metric (v1alpha) · Updates a CustomMetric on a property
#
Ask an LLM
“With the alpha API, can I change a custom metric's measurement unit?”
“Is a custom metric's description editable through v1alpha?”
Tell an agent
Via v1alpha, set unit {measurementUnit} on metric {customMetricsId} in property {propertiesId}.
Alpha API: rename metric {customMetricsId} on property {propertiesId} to {displayName}.
POST
/v1alpha/properties/{propertiesId}/dataStreams
Create a data stream (v1alpha) · Creates a DataStream
#
Ask an LLM
“Can the v1alpha API create an iOS app stream for a property?”
“What stream data does an alpha-created Android stream need?”
Tell an agent
Via v1alpha, create a {type} stream {displayName} on property {propertiesId}.
Alpha API: add an iOS stream with {iosAppStreamData} to property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/dataStreams
List data streams (v1alpha) · Lists DataStreams on a property
#
Ask an LLM
“Using v1alpha, which data streams belong to a property?”
“Does the alpha stream list include app streams as well as web?”
Tell an agent
Via v1alpha, list data streams for property {propertiesId}.
Alpha API: show streams on property {propertiesId}, {pageSize} per page.
DELETE
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}
Delete a data stream (v1alpha) · Deletes a DataStream on a property
#
Ask an LLM
“With the v1alpha API, can I remove a web or app stream from a property?”
“Does deleting a stream through alpha stop data collection for it?”
Tell an agent destructive · confirm first
Via v1alpha, delete stream {dataStreamsId} from property {propertiesId}.
Alpha API: remove data stream {dataStreamsId} on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}
Get a data stream (v1alpha) · Lookup for a single DataStream
#
Ask an LLM
“Using v1alpha, what measurement ID and URL does a web stream have?”
“Can the alpha API return one stream's type and display name?”
Tell an agent
Via v1alpha, fetch stream {dataStreamsId} on property {propertiesId}.
Alpha API: show details of data stream {dataStreamsId} in property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}
Update a data stream (v1alpha) · Updates a DataStream on a property
#
Ask an LLM
“Can the alpha API rename a data stream?”
“Through v1alpha, which web stream fields can I change?”
Tell an agent
Via v1alpha, rename stream {dataStreamsId} on property {propertiesId} to {displayName}.
Alpha API: update web settings {webStreamData} on stream {dataStreamsId} of property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/dataRedactionSettings
View a stream's data redaction settings · Lookup for a single DataRedactionSettings
#
Ask an LLM
“Is email redaction turned on for my web stream?”
“Which query parameters are being redacted before data reaches GA4?”
Tell an agent
Show data redaction settings for stream {dataStreamsId} on property {propertiesId}.
List redacted query parameter keys on stream {dataStreamsId} in property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/dataRedactionSettings
Change a stream's data redaction settings · Updates a DataRedactionSettings on a property
#
Ask an LLM
“Can I make GA4 strip email addresses from collected data?”
“Can I add query parameters to redact on a web stream?”
Tell an agent
Turn email redaction {emailRedactionEnabled} on stream {dataStreamsId} of property {propertiesId}.
Redact query keys {queryParameterKeys} on stream {dataStreamsId} in property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/enhancedMeasurementSettings
View enhanced measurement settings · Returns the enhanced measurement settings for this data stream
#
Ask an LLM
“Which enhanced measurement events like scrolls or file downloads are on for my stream?”
“Is site search tracking enabled, and with which query parameter?”
Tell an agent
Show enhanced measurement settings for stream {dataStreamsId} on property {propertiesId}.
Check if scroll and outbound click tracking are on for stream {dataStreamsId} in property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/enhancedMeasurementSettings
Change enhanced measurement settings · Updates the enhanced measurement settings for this data stream
#
Ask an LLM
“Can I turn off automatic scroll tracking on a web stream?”
“Can I change which URL parameter GA4 treats as a site search?”
Tell an agent
Set scroll tracking {scrollsEnabled} on stream {dataStreamsId} of property {propertiesId}.
Use {searchQueryParameter} as the site search parameter for stream {dataStreamsId} in property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/globalSiteTag
Get the site tag snippet for a web stream · Returns the Site Tag for the specified web stream
#
Ask an LLM
“Where can I get the gtag snippet to install on my website?”
“Can the site tag for a web stream be changed, or is it fixed?”
Tell an agent
Get the site tag for web stream {dataStreamsId} on property {propertiesId}.
Give me the tracking snippet to paste for stream {dataStreamsId} in property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventCreateRules
Create an event from matching events · Creates an EventCreateRule
#
Ask an LLM
“Can I make GA4 fire a new event whenever an existing event matches conditions?”
“Can a create rule copy parameters from the source event?”
Tell an agent
Create a rule on stream {dataStreamsId} of property {propertiesId} that emits {destinationEvent} when {eventConditions}.
Add event create rule for {destinationEvent} copying source params {sourceCopyParameters} on stream {dataStreamsId} in property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventCreateRules
List event create rules on a stream · Lists EventCreateRules on a web data stream
#
Ask an LLM
“What rules create new events from existing ones on my web stream?”
“Can I page through event create rules for a stream?”
Tell an agent
List event create rules on stream {dataStreamsId} of property {propertiesId}.
Show rules that derive new events for stream {dataStreamsId} in property {propertiesId}.
DELETE
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventCreateRules/{eventCreateRulesId}
Delete an event create rule · Deletes an EventCreateRule
#
Ask an LLM
“Can I stop GA4 from generating a derived event by removing its create rule?”
“Is deleting an event create rule immediate?”
Tell an agent destructive · confirm first
Delete event create rule {eventCreateRulesId} on stream {dataStreamsId} of property {propertiesId}.
Remove create rule {eventCreateRulesId} from stream {dataStreamsId} in property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventCreateRules/{eventCreateRulesId}
Get one event create rule · Lookup for a single EventCreateRule
#
Ask an LLM
“What conditions trigger a specific event create rule?”
“Which destination event does a given create rule produce?”
Tell an agent
Show event create rule {eventCreateRulesId} on stream {dataStreamsId} of property {propertiesId}.
Read the conditions of create rule {eventCreateRulesId} for stream {dataStreamsId} in property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventCreateRules/{eventCreateRulesId}
Update an event create rule · Updates an EventCreateRule
#
Ask an LLM
“Can I change the matching conditions on an existing event create rule?”
“Can the parameter mutations of a create rule be edited later?”
Tell an agent
Update conditions of create rule {eventCreateRulesId} on stream {dataStreamsId} of property {propertiesId} to {eventConditions}.
Change parameter mutations {parameterMutations} on create rule {eventCreateRulesId} for stream {dataStreamsId} in property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventEditRules
Create an event edit rule · Creates an EventEditRule
#
Ask an LLM
“Can I rename or change parameters of events as they arrive in GA4?”
“Can I set where a new edit rule sits in the processing order?”
Tell an agent
Create edit rule {displayName} on stream {dataStreamsId} of property {propertiesId} matching {eventConditions}.
Add an event edit rule applying {parameterMutations} on stream {dataStreamsId} in property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventEditRules
List event edit rules on a stream · Lists EventEditRules on a web data stream
#
Ask an LLM
“What rules modify incoming events on my web stream?”
“In what order are event edit rules applied on a stream?”
Tell an agent
List event edit rules on stream {dataStreamsId} of property {propertiesId}.
Show the rules that rewrite events for stream {dataStreamsId} in property {propertiesId}.
DELETE
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventEditRules/{eventEditRulesId}
Delete an event edit rule · Deletes an EventEditRule
#
Ask an LLM
“Can I stop GA4 from rewriting an event by deleting the edit rule?”
“Does removing an edit rule change the order of the others?”
Tell an agent destructive · confirm first
Delete event edit rule {eventEditRulesId} on stream {dataStreamsId} of property {propertiesId}.
Remove edit rule {eventEditRulesId} from stream {dataStreamsId} in property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventEditRules/{eventEditRulesId}
Get one event edit rule · Lookup for a single EventEditRule
#
Ask an LLM
“Which parameter changes does a specific edit rule make?”
“What processing order does a particular event edit rule have?”
Tell an agent
Show event edit rule {eventEditRulesId} on stream {dataStreamsId} of property {propertiesId}.
Read mutations of edit rule {eventEditRulesId} for stream {dataStreamsId} in property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventEditRules/{eventEditRulesId}
Update an event edit rule · Updates an EventEditRule
#
Ask an LLM
“Can I rename an event edit rule or change what it matches?”
“Can I edit the parameter mutations on an existing edit rule?”
Tell an agent
Rename edit rule {eventEditRulesId} on stream {dataStreamsId} of property {propertiesId} to {displayName}.
Set new conditions {eventConditions} on edit rule {eventEditRulesId} for stream {dataStreamsId} in property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/eventEditRules:reorder
Reorder event edit rules · Changes the processing order of event edit rules on the specified stream
#
Ask an LLM
“Can I change which event edit rule runs first on a stream?”
“How is the processing sequence of edit rules rearranged?”
Tell an agent
Reorder edit rules on stream {dataStreamsId} of property {propertiesId} to {eventEditRules}.
Apply the processing sequence {eventEditRules} to stream {dataStreamsId} in property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets
Create a Measurement Protocol secret (v1alpha) · Creates a measurement protocol secret
#
Ask an LLM
“Using v1alpha, can I mint a Measurement Protocol secret for an app stream?”
“Does the alpha secret create call return the secret value?”
Tell an agent
Via v1alpha, create secret {displayName} on stream {dataStreamsId} of property {propertiesId}.
Alpha API: generate a Measurement Protocol secret for stream {dataStreamsId} in property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets
List Measurement Protocol secrets (v1alpha) · Returns child MeasurementProtocolSecrets under the specified parent Property
#
Ask an LLM
“With v1alpha, which Measurement Protocol secrets are on a given stream?”
“Can the alpha API page Measurement Protocol secrets?”
Tell an agent
Via v1alpha, list Measurement Protocol secrets on stream {dataStreamsId} of property {propertiesId}.
Alpha API: show API secrets for stream {dataStreamsId} in property {propertiesId}, {pageSize} per page.
DELETE
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}
Delete a Measurement Protocol secret (v1alpha) · Deletes target MeasurementProtocolSecret
#
Ask an LLM
“Can v1alpha revoke a leaked Measurement Protocol secret?”
“After an alpha delete, will server-side hits using that secret fail?”
Tell an agent destructive · confirm first
Via v1alpha, delete secret {measurementProtocolSecretsId} on stream {dataStreamsId} of property {propertiesId}.
Alpha API: revoke Measurement Protocol secret {measurementProtocolSecretsId} from stream {dataStreamsId} in property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}
Get a Measurement Protocol secret (v1alpha) · Lookup for a single MeasurementProtocolSecret
#
Ask an LLM
“Through v1alpha, can I read back one Measurement Protocol secret by ID?”
“What does the alpha API return for a single secret?”
Tell an agent
Via v1alpha, fetch secret {measurementProtocolSecretsId} on stream {dataStreamsId} of property {propertiesId}.
Alpha API: show the value of secret {measurementProtocolSecretsId} for stream {dataStreamsId} in property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}
Rename a Measurement Protocol secret (v1alpha) · Updates a measurement protocol secret
#
Ask an LLM
“With the alpha API, can I rename a Measurement Protocol secret?”
“Which fields of a secret does the v1alpha update allow?”
Tell an agent
Via v1alpha, rename secret {measurementProtocolSecretsId} on stream {dataStreamsId} of property {propertiesId} to {displayName}.
Alpha API: update secret {measurementProtocolSecretsId} for stream {dataStreamsId} in property {propertiesId} using mask {updateMask}.
POST
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/sKAdNetworkConversionValueSchema
Create an SKAdNetwork conversion value schema · Creates a SKAdNetworkConversionValueSchema
#
Ask an LLM
“Can I configure SKAdNetwork postback windows for my iOS app in GA4?”
“Should conversion values be applied automatically once a schema exists?”
Tell an agent
Create an SKAdNetwork schema on stream {dataStreamsId} of property {propertiesId} with first window {postbackWindowOne}.
Set up iOS conversion values on stream {dataStreamsId} in property {propertiesId}, apply {applyConversionValues}.
GET
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/sKAdNetworkConversionValueSchema
List SKAdNetwork conversion value schemas · Lists SKAdNetworkConversionValueSchema on a stream
#
Ask an LLM
“Does my iOS app stream have an SKAdNetwork conversion value schema?”
“Can a stream have more than one SKAdNetwork schema?”
Tell an agent
List SKAdNetwork schemas on stream {dataStreamsId} of property {propertiesId}.
Show the iOS conversion value schema for stream {dataStreamsId} in property {propertiesId}.
DELETE
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/sKAdNetworkConversionValueSchema/{sKAdNetworkConversionValueSchemaId}
Delete an SKAdNetwork conversion value schema · Deletes target SKAdNetworkConversionValueSchema
#
Ask an LLM
“Can I remove the SKAdNetwork conversion value schema from my iOS stream?”
“What happens to conversion value mapping after the schema is deleted?”
Tell an agent destructive · confirm first
Delete SKAdNetwork schema {sKAdNetworkConversionValueSchemaId} on stream {dataStreamsId} of property {propertiesId}.
Remove iOS conversion schema {sKAdNetworkConversionValueSchemaId} from stream {dataStreamsId} in property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/sKAdNetworkConversionValueSchema/{sKAdNetworkConversionValueSchemaId}
Get an SKAdNetwork conversion value schema · Looks up a single SKAdNetworkConversionValueSchema
#
Ask an LLM
“What postback windows are configured in my SKAdNetwork schema?”
“Can I read one SKAdNetwork schema by its ID?”
Tell an agent
Show SKAdNetwork schema {sKAdNetworkConversionValueSchemaId} on stream {dataStreamsId} of property {propertiesId}.
Read postback windows of schema {sKAdNetworkConversionValueSchemaId} for stream {dataStreamsId} in property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/dataStreams/{dataStreamsId}/sKAdNetworkConversionValueSchema/{sKAdNetworkConversionValueSchemaId}
Update an SKAdNetwork conversion value schema · Updates a SKAdNetworkConversionValueSchema
#
Ask an LLM
“Can I change the second or third SKAdNetwork postback window later?”
“Can I toggle whether conversion values are applied on an existing schema?”
Tell an agent
Update postback window two {postbackWindowTwo} on schema {sKAdNetworkConversionValueSchemaId} for stream {dataStreamsId} of property {propertiesId}.
Set window three {postbackWindowThree} on iOS schema {sKAdNetworkConversionValueSchemaId}, stream {dataStreamsId}, property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals/{displayVideo360AdvertiserLinkProposalsId}:approve
Approve a Display & Video 360 link proposal · Approves a DisplayVideo360AdvertiserLinkProposal
#
Ask an LLM
“Can I accept a pending Display & Video 360 link request from the API?”
“What happens to a DV360 proposal once it is approved?”
Tell an agent
Approve DV360 link proposal {displayVideo360AdvertiserLinkProposalsId} on property {propertiesId}.
Accept the Display & Video 360 proposal {displayVideo360AdvertiserLinkProposalsId} for property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals/{displayVideo360AdvertiserLinkProposalsId}:cancel
Decline or withdraw a DV360 link proposal · Cancels a DisplayVideo360AdvertiserLinkProposal
#
Ask an LLM
“Can I decline a Display & Video 360 link proposal someone sent my property?”
“How do I withdraw a DV360 link proposal I started from Analytics?”
Tell an agent destructive · confirm first
Cancel DV360 proposal {displayVideo360AdvertiserLinkProposalsId} on property {propertiesId}.
Decline the Display & Video 360 link request {displayVideo360AdvertiserLinkProposalsId} for property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals
Propose a DV360 advertiser link · Creates a DisplayVideo360AdvertiserLinkProposal
#
Ask an LLM
“Can I send a link proposal to a Display & Video 360 advertiser from GA4?”
“Can cost and campaign data sharing be set on a DV360 proposal?”
Tell an agent
Propose a DV360 link to advertiser {advertiserId} from property {propertiesId}.
Create a Display & Video 360 proposal for {advertiserId} on property {propertiesId} with cost sharing {costDataSharingEnabled}.
GET
/v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals
List DV360 link proposals · Lists DisplayVideo360AdvertiserLinkProposals on a property
#
Ask an LLM
“Are there pending Display & Video 360 link proposals on my property?”
“Can I page through DV360 advertiser link proposals?”
Tell an agent
List DV360 link proposals on property {propertiesId}.
Show pending Display & Video 360 proposals for property {propertiesId}, page {pageToken}.
DELETE
/v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals/{displayVideo360AdvertiserLinkProposalsId}
Delete a cancelled DV360 link proposal · Deletes a DisplayVideo360AdvertiserLinkProposal on a property
#
Ask an LLM
“Can I clean up a DV360 proposal that was already cancelled?”
“Why can only cancelled Display & Video 360 proposals be deleted?”
Tell an agent destructive · confirm first
Delete cancelled DV360 proposal {displayVideo360AdvertiserLinkProposalsId} from property {propertiesId}.
Remove the withdrawn Display & Video 360 proposal {displayVideo360AdvertiserLinkProposalsId} on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinkProposals/{displayVideo360AdvertiserLinkProposalsId}
Get a DV360 link proposal · Lookup for a single DisplayVideo360AdvertiserLinkProposal
#
Ask an LLM
“What is the status of a particular Display & Video 360 link proposal?”
“Who initiated a given DV360 proposal and for which advertiser?”
Tell an agent
Show DV360 proposal {displayVideo360AdvertiserLinkProposalsId} on property {propertiesId}.
Check the status details of Display & Video 360 proposal {displayVideo360AdvertiserLinkProposalsId} for property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks
Link a DV360 advertiser directly · Creates a DisplayVideo360AdvertiserLink
#
Ask an LLM
“Can I link a Display & Video 360 advertiser without a proposal if I have access to both?”
“What permissions are required to create a DV360 link directly?”
Tell an agent
Link DV360 advertiser {advertiserId} to property {propertiesId}.
Create a direct Display & Video 360 link for {advertiserId} on property {propertiesId} with campaign sharing {campaignDataSharingEnabled}.
GET
/v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks
List DV360 advertiser links · Lists all DisplayVideo360AdvertiserLinks on a property
#
Ask an LLM
“Which Display & Video 360 advertisers are linked to my property?”
“Can I list all active DV360 links on a property?”
Tell an agent
List DV360 advertiser links on property {propertiesId}.
Show active Display & Video 360 links for property {propertiesId}, {pageSize} per page.
DELETE
/v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks/{displayVideo360AdvertiserLinksId}
Unlink a DV360 advertiser · Deletes a DisplayVideo360AdvertiserLink on a property
#
Ask an LLM
“How do I disconnect a Display & Video 360 advertiser from GA4?”
“Is an active DV360 link removable through the API?”
Tell an agent destructive · confirm first
Delete DV360 advertiser link {displayVideo360AdvertiserLinksId} from property {propertiesId}.
Unlink Display & Video 360 connection {displayVideo360AdvertiserLinksId} on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks/{displayVideo360AdvertiserLinksId}
Get one DV360 advertiser link · Look up a single DisplayVideo360AdvertiserLink
#
Ask an LLM
“What sharing settings does a specific Display & Video 360 link have?”
“Can I fetch one DV360 advertiser link by ID?”
Tell an agent
Show DV360 advertiser link {displayVideo360AdvertiserLinksId} on property {propertiesId}.
Read settings of Display & Video 360 link {displayVideo360AdvertiserLinksId} for property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/displayVideo360AdvertiserLinks/{displayVideo360AdvertiserLinksId}
Update a DV360 advertiser link · Updates a DisplayVideo360AdvertiserLink on a property
#
Ask an LLM
“Can I turn off cost data sharing on an existing Display & Video 360 link?”
“Which DV360 link settings are editable after linking?”
Tell an agent
Set cost data sharing {costDataSharingEnabled} on DV360 link {displayVideo360AdvertiserLinksId} for property {propertiesId}.
Update ads personalization {adsPersonalizationEnabled} on Display & Video 360 link {displayVideo360AdvertiserLinksId} in property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/expandedDataSets
Create an expanded data set · Creates a ExpandedDataSet
#
Ask an LLM
“Can I create an expanded data set with a chosen set of dimensions and metrics?”
“Can an expanded data set filter which dimension values it keeps?”
Tell an agent
Create expanded data set {displayName} on property {propertiesId} with dimensions {dimensionNames} and metrics {metricNames}.
Add an expanded data set {displayName} filtered by {dimensionFilterExpression} to property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/expandedDataSets
List expanded data sets · Lists ExpandedDataSets on a property
#
Ask an LLM
“What expanded data sets exist on my GA4 360 property?”
“Can I page through a property's expanded data sets?”
Tell an agent
List expanded data sets on property {propertiesId}.
Show expanded data sets for property {propertiesId}, page {pageToken}.
DELETE
/v1alpha/properties/{propertiesId}/expandedDataSets/{expandedDataSetsId}
Delete an expanded data set · Deletes a ExpandedDataSet on a property
#
Ask an LLM
“Can I delete an expanded data set I no longer report on?”
“Is removing an expanded data set possible through the API?”
Tell an agent destructive · confirm first
Delete expanded data set {expandedDataSetsId} from property {propertiesId}.
Remove the expanded data set {expandedDataSetsId} on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/expandedDataSets/{expandedDataSetsId}
Get one expanded data set · Lookup for a single ExpandedDataSet
#
Ask an LLM
“Which dimensions and metrics make up a particular expanded data set?”
“When did an expanded data set start collecting data?”
Tell an agent
Show expanded data set {expandedDataSetsId} on property {propertiesId}.
Read the fields of expanded data set {expandedDataSetsId} in property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/expandedDataSets/{expandedDataSetsId}
Update an expanded data set · Updates a ExpandedDataSet on a property
#
Ask an LLM
“Can I rename an expanded data set or change its description?”
“Which fields of an expanded data set are editable after it is created?”
Tell an agent
Rename expanded data set {expandedDataSetsId} on property {propertiesId} to {displayName}.
Update description of expanded data set {expandedDataSetsId} in property {propertiesId} to {description}.
POST
/v1alpha/properties/{propertiesId}/firebaseLinks
Link a Firebase project (v1alpha) · Creates a FirebaseLink
#
Ask an LLM
“Can the v1alpha API connect a Firebase project to a property?”
“Will the alpha Firebase link fail if one already exists?”
Tell an agent
Via v1alpha, link Firebase project {project} to property {propertiesId}.
Alpha API: attach Firebase {project} as the link for property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/firebaseLinks
List Firebase links (v1alpha) · Lists FirebaseLinks on a property
#
Ask an LLM
“Using the alpha admin API, is a Firebase project linked to this property?”
“Does v1alpha return at most one Firebase link per property?”
Tell an agent
Via v1alpha, list Firebase links for property {propertiesId}.
Alpha API: show the Firebase project attached to property {propertiesId}.
DELETE
/v1alpha/properties/{propertiesId}/firebaseLinks/{firebaseLinksId}
Unlink a Firebase project (v1alpha) · Deletes a FirebaseLink on a property
#
Ask an LLM
“With v1alpha, can I remove the Firebase link from a property?”
“Does the alpha Firebase unlink need the link ID?”
Tell an agent destructive · confirm first
Via v1alpha, delete Firebase link {firebaseLinksId} from property {propertiesId}.
Alpha API: unlink Firebase connection {firebaseLinksId} on property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/googleAdsLinks
Link a Google Ads account (v1alpha) · Creates a GoogleAdsLink
#
Ask an LLM
“Can the alpha API link a Google Ads customer ID to a property?”
“With v1alpha, can the new Google Ads link manage client accounts?”
Tell an agent
Via v1alpha, link Google Ads customer {customerId} to property {propertiesId}.
Alpha API: create a Google Ads link for {customerId} on property {propertiesId}, personalization {adsPersonalizationEnabled}.
GET
/v1alpha/properties/{propertiesId}/googleAdsLinks
List Google Ads links (v1alpha) · Lists GoogleAdsLinks on a property
#
Ask an LLM
“Via the alpha admin API, which Google Ads customers link to a property?”
“Can v1alpha page Google Ads links for large properties?”
Tell an agent
Via v1alpha, list Google Ads links for property {propertiesId}.
Alpha API: show Google Ads connections on property {propertiesId}, {pageSize} per page.
DELETE
/v1alpha/properties/{propertiesId}/googleAdsLinks/{googleAdsLinksId}
Unlink Google Ads (v1alpha) · Deletes a GoogleAdsLink on a property
#
Ask an LLM
“Using v1alpha, can I disconnect a Google Ads account from a property?”
“Does the alpha unlink stop importing Google Ads data?”
Tell an agent destructive · confirm first
Via v1alpha, delete Google Ads link {googleAdsLinksId} from property {propertiesId}.
Alpha API: unlink Google Ads connection {googleAdsLinksId} on property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/googleAdsLinks/{googleAdsLinksId}
Update a Google Ads link (v1alpha) · Updates a GoogleAdsLink on a property
#
Ask an LLM
“With the alpha API, can I toggle ads personalization on a Google Ads link?”
“What Google Ads link fields does v1alpha let me update?”
Tell an agent
Via v1alpha, set ads personalization {adsPersonalizationEnabled} on Google Ads link {googleAdsLinksId} for property {propertiesId}.
Alpha API: patch Google Ads link {googleAdsLinksId} on property {propertiesId} with mask {updateMask}.
POST
/v1alpha/properties/{propertiesId}/keyEvents
Create a key event (v1alpha) · Creates a Key Event
#
Ask an LLM
“Can the v1alpha API mark an event such as sign_up as a key event?”
“With alpha, can a key event carry a default value?”
Tell an agent
Via v1alpha, make {eventName} a key event on property {propertiesId}.
Alpha API: create key event {eventName} counted {countingMethod} with default {defaultValue} on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/keyEvents
List key events (v1alpha) · Returns a list of Key Events in the specified parent property
#
Ask an LLM
“Using v1alpha, which events are marked as key events on a property?”
“Does the alpha key event list return empty when none exist?”
Tell an agent
Via v1alpha, list key events for property {propertiesId}.
Alpha API: show key events on property {propertiesId}, page {pageToken}.
DELETE
/v1alpha/properties/{propertiesId}/keyEvents/{keyEventsId}
Delete a key event (v1alpha) · Deletes a Key Event
#
Ask an LLM
“Using the alpha API, can I stop treating an event as a key event?”
“Can v1alpha delete a key event that is marked non-deletable?”
Tell an agent destructive · confirm first
Via v1alpha, delete key event {keyEventsId} from property {propertiesId}.
Alpha API: unmark key event {keyEventsId} on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/keyEvents/{keyEventsId}
Get a key event (v1alpha) · Retrieve a single Key Event
#
Ask an LLM
“Through v1alpha, how is a given key event counted?”
“Can the alpha API fetch one key event by ID?”
Tell an agent
Via v1alpha, fetch key event {keyEventsId} on property {propertiesId}.
Alpha API: show counting method of key event {keyEventsId} in property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/keyEvents/{keyEventsId}
Update a key event (v1alpha) · Updates a Key Event
#
Ask an LLM
“With v1alpha, can I change a key event from once per event to once per session?”
“Can the alpha API update a key event's default value?”
Tell an agent
Via v1alpha, set counting method {countingMethod} on key event {keyEventsId} in property {propertiesId}.
Alpha API: change default value of key event {keyEventsId} on property {propertiesId} to {defaultValue}.
POST
/v1alpha/properties/{propertiesId}/reportingDataAnnotations
Add a reporting annotation · Creates a Reporting Data Annotation
#
Ask an LLM
“Can I annotate a date in GA4 reports to explain a traffic spike?”
“Can an annotation cover a date range instead of a single day?”
Tell an agent
Add annotation {title} on {annotationDate} to property {propertiesId}.
Create a {color} annotation {title} spanning {annotationDateRange} on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/reportingDataAnnotations
List reporting annotations · List all Reporting Data Annotations on a property
#
Ask an LLM
“What annotations have been added to my GA4 reports, like campaign launches?”
“Can I filter reporting data annotations when listing them?”
Tell an agent
List reporting annotations on property {propertiesId}.
Show annotations for property {propertiesId} matching {filter}.
DELETE
/v1alpha/properties/{propertiesId}/reportingDataAnnotations/{reportingDataAnnotationsId}
Delete a reporting annotation · Deletes a Reporting Data Annotation
#
Ask an LLM
“Can I remove an outdated annotation from my GA4 reports?”
“Is deleting a report annotation permanent?”
Tell an agent destructive · confirm first
Delete annotation {reportingDataAnnotationsId} from property {propertiesId}.
Remove the report note {reportingDataAnnotationsId} on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/reportingDataAnnotations/{reportingDataAnnotationsId}
Get one reporting annotation · Lookup a single Reporting Data Annotation
#
Ask an LLM
“What does a specific report annotation say and which dates does it cover?”
“Was a given annotation system-generated or added by a person?”
Tell an agent
Show annotation {reportingDataAnnotationsId} on property {propertiesId}.
Read the note and date of annotation {reportingDataAnnotationsId} in property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/reportingDataAnnotations/{reportingDataAnnotationsId}
Update a reporting annotation · Updates a Reporting Data Annotation
#
Ask an LLM
“Can I fix the title or date on an existing report annotation?”
“Can I recolor an annotation after creating it?”
Tell an agent
Change the title of annotation {reportingDataAnnotationsId} on property {propertiesId} to {title}.
Move annotation {reportingDataAnnotationsId} in property {propertiesId} to date {annotationDate}.
POST
/v1alpha/properties/{propertiesId}/rollupPropertySourceLinks
Add a source to a roll-up property · Creates a roll-up property source link
#
Ask an LLM
“Can I add another property as a source to an existing roll-up?”
“Does adding a source link work on properties that aren't roll-ups?”
Tell an agent
Add source property {sourceProperty} to roll-up property {propertiesId}.
Link {sourceProperty} as a data source for roll-up {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/rollupPropertySourceLinks
List a roll-up property's source links · Lists roll-up property source Links on a property
#
Ask an LLM
“Which properties feed data into my roll-up property?”
“Why does listing source links fail on a normal property?”
Tell an agent
List source links on roll-up property {propertiesId}.
Show the source properties aggregated by roll-up {propertiesId}, {pageSize} per page.
DELETE
/v1alpha/properties/{propertiesId}/rollupPropertySourceLinks/{rollupPropertySourceLinksId}
Remove a source from a roll-up property · Deletes a roll-up property source link
#
Ask an LLM
“Can I stop a property from feeding my roll-up property?”
“Is removing a roll-up source link allowed on non-roll-up properties?”
Tell an agent destructive · confirm first
Delete roll-up source link {rollupPropertySourceLinksId} from property {propertiesId}.
Detach source {rollupPropertySourceLinksId} from roll-up {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/rollupPropertySourceLinks/{rollupPropertySourceLinksId}
Get one roll-up source link · Lookup for a single roll-up property source Link
#
Ask an LLM
“Which source property does a particular roll-up link point to?”
“Can I look up a single roll-up source link by ID?”
Tell an agent
Show roll-up source link {rollupPropertySourceLinksId} on property {propertiesId}.
Tell me which property source link {rollupPropertySourceLinksId} feeds into roll-up {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/searchAds360Links
Link a Search Ads 360 advertiser · Creates a SearchAds360Link
#
Ask an LLM
“Can I link a Search Ads 360 advertiser to GA4 through the API?”
“Can site stats sharing be enabled when creating an SA360 link?”
Tell an agent
Link Search Ads 360 advertiser {advertiserId} to property {propertiesId}.
Create an SA360 link for {advertiserId} on property {propertiesId} with site stats sharing {siteStatsSharingEnabled}.
GET
/v1alpha/properties/{propertiesId}/searchAds360Links
List Search Ads 360 links · Lists all SearchAds360Links on a property
#
Ask an LLM
“Which Search Ads 360 advertisers are linked to my property?”
“Can I page through all Search Ads 360 links?”
Tell an agent
List Search Ads 360 links on property {propertiesId}.
Show SA360 connections for property {propertiesId}, page {pageToken}.
DELETE
/v1alpha/properties/{propertiesId}/searchAds360Links/{searchAds360LinksId}
Unlink a Search Ads 360 advertiser · Deletes a SearchAds360Link on a property
#
Ask an LLM
“How can I disconnect Search Ads 360 from my GA4 property?”
“Does removing an SA360 link stop campaign data flowing in?”
Tell an agent destructive · confirm first
Delete Search Ads 360 link {searchAds360LinksId} from property {propertiesId}.
Unlink SA360 connection {searchAds360LinksId} on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/searchAds360Links/{searchAds360LinksId}
Get one Search Ads 360 link · Look up a single SearchAds360Link
#
Ask an LLM
“What data sharing does a specific Search Ads 360 link have?”
“Can I fetch one SA360 link by its ID?”
Tell an agent
Show Search Ads 360 link {searchAds360LinksId} on property {propertiesId}.
Read sharing settings of SA360 link {searchAds360LinksId} in property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/searchAds360Links/{searchAds360LinksId}
Update a Search Ads 360 link · Updates a SearchAds360Link on a property
#
Ask an LLM
“Can I turn cost data sharing off on an existing Search Ads 360 link?”
“Which SA360 link settings can be edited later?”
Tell an agent
Set cost data sharing {costDataSharingEnabled} on SA360 link {searchAds360LinksId} for property {propertiesId}.
Update campaign sharing {campaignDataSharingEnabled} on Search Ads 360 link {searchAds360LinksId} in property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/subpropertyEventFilters
Create a subproperty event filter · Creates a subproperty Event Filter
#
Ask an LLM
“Can I add a filter so a subproperty only gets certain events?”
“Which property does a new subproperty event filter apply to?”
Tell an agent
Create a subproperty event filter on property {propertiesId} with clauses {filterClauses}.
Add an event filter for subproperty {applyToProperty} under property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/subpropertyEventFilters
List subproperty event filters · List all subproperty Event Filters on a property
#
Ask an LLM
“What event filters decide which data flows into my subproperties?”
“Can I page through subproperty event filters on a property?”
Tell an agent
List subproperty event filters on property {propertiesId}.
Show filters routing events to subproperties of {propertiesId}, {pageSize} per page.
DELETE
/v1alpha/properties/{propertiesId}/subpropertyEventFilters/{subpropertyEventFiltersId}
Delete a subproperty event filter · Deletes a subproperty event filter
#
Ask an LLM
“Can I remove the event filter feeding a subproperty?”
“Is a deleted subproperty event filter recoverable?”
Tell an agent destructive · confirm first
Delete subproperty event filter {subpropertyEventFiltersId} from property {propertiesId}.
Remove subproperty filter {subpropertyEventFiltersId} on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/subpropertyEventFilters/{subpropertyEventFiltersId}
Get one subproperty event filter · Lookup for a single subproperty Event Filter
#
Ask an LLM
“What clauses does a particular subproperty event filter use?”
“Can I read a single subproperty filter by its ID?”
Tell an agent
Show subproperty event filter {subpropertyEventFiltersId} on property {propertiesId}.
Read clauses of subproperty filter {subpropertyEventFiltersId} in property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/subpropertyEventFilters/{subpropertyEventFiltersId}
Update a subproperty event filter · Updates a subproperty Event Filter
#
Ask an LLM
“Can I change the conditions of an existing subproperty event filter?”
“Is the target subproperty of a filter editable?”
Tell an agent
Update clauses of subproperty filter {subpropertyEventFiltersId} on property {propertiesId} to {filterClauses}.
Patch subproperty filter {subpropertyEventFiltersId} in property {propertiesId} with mask {updateMask}.
GET
/v1alpha/properties/{propertiesId}/subpropertySyncConfigs/{subpropertySyncConfigsId}
Get a subproperty sync config · Lookup for a single `SubpropertySyncConfig`
#
Ask an LLM
“How are custom dimensions and metrics synced to a particular subproperty?”
“Can I read one subproperty sync config by ID?”
Tell an agent
Show subproperty sync config {subpropertySyncConfigsId} on property {propertiesId}.
Check the sync mode in config {subpropertySyncConfigsId} for property {propertiesId}.
PATCH
/v1alpha/properties/{propertiesId}/subpropertySyncConfigs/{subpropertySyncConfigsId}
Change a subproperty sync config · Updates a `SubpropertySyncConfig`
#
Ask an LLM
“Can I switch a subproperty to sync all custom dimensions and metrics automatically?”
“Which setting controls custom field syncing on a subproperty?”
Tell an agent
Set sync mode {customDimensionAndMetricSyncMode} on config {subpropertySyncConfigsId} for property {propertiesId}.
Update subproperty sync config {subpropertySyncConfigsId} in property {propertiesId} using mask {updateMask}.
GET
/v1alpha/properties/{propertiesId}/subpropertySyncConfigs
List subproperty sync configs · List all `SubpropertySyncConfig` resources for a property
#
Ask an LLM
“Which subproperties have sync configs under my property?”
“Can I page through every subproperty sync configuration?”
Tell an agent
List subproperty sync configs on property {propertiesId}.
Show how each subproperty of {propertiesId} syncs custom fields, page {pageToken}.
POST
/v1beta/properties/{propertiesId}:acknowledgeUserDataCollection
Accept data collection terms (v1beta) · Acknowledges the terms of user data collection for the specified property
#
Ask an LLM
“In the beta admin API, which call records that I accepted user data collection for a property ID?”
“Must the v1beta acknowledgement happen before server-side secrets can exist?”
Tell an agent
On v1beta, record the user data collection acknowledgement for property ID {propertiesId}.
Beta admin: acknowledge {acknowledgement} for property ID {propertiesId}.
DELETE
/v1beta/properties/{propertiesId}
Trash a property (v1beta) · Marks target Property as soft-deleted (ie: "trashed") and returns it
#
Ask an LLM
“When the beta admin API trashes a property, how do I get it back?”
“Is a v1beta property deletion immediate or soft?”
Tell an agent destructive · confirm first
On v1beta, trash property ID {propertiesId}.
Beta admin: soft-delete the property with ID {propertiesId} so it lands in the Trash Can.
Ask an LLM
“With the beta admin API, what currency and industry does a property ID use?”
“Can v1beta look up a single property's display name and parent account?”
Tell an agent
On v1beta, get property ID {propertiesId}.
Beta admin: show currency, time zone and account for property ID {propertiesId}.
Ask an LLM
“Using the beta admin API, can I change a property's reporting currency?”
“Does v1beta let me update a property's industry category?”
Tell an agent
On v1beta, set currency {currencyCode} on property ID {propertiesId}.
Beta admin: change industry of property ID {propertiesId} to {industryCategory}.
GET
/v1beta/properties/{propertiesId}/dataRetentionSettings
View data retention settings (v1beta) · Returns the singleton data retention settings for this property
#
Ask an LLM
“In the beta admin API, what user and event retention periods apply to a property?”
“Can v1beta tell me if user data resets on new activity?”
Tell an agent
On v1beta, get retention periods for property ID {propertiesId}.
Beta admin: report whether property ID {propertiesId} resets user data on new activity.
PATCH
/v1beta/properties/{propertiesId}/dataRetentionSettings
Change data retention settings (v1beta) · Updates the singleton data retention settings for this property
#
Ask an LLM
“Using v1beta, can I shorten how long a property keeps user-level data?”
“Does the beta retention update control resetting on new activity?”
Tell an agent
On v1beta, change event retention of property ID {propertiesId} to {eventDataRetention}.
Beta admin: set reset on new activity to {resetUserDataOnNewActivity} for property ID {propertiesId}.
POST
/v1beta/properties/{propertiesId}:runAccessReport
Audit reporting data access (v1beta) · Returns a customized report of data access records
#
Ask an LLM
“In the beta admin API, can I see which reports a property's users opened last month?”
“Does the v1beta access report return quota usage?”
Tell an agent
On v1beta, audit data access on property ID {propertiesId} for {dateRanges}.
Beta admin: access records for property ID {propertiesId} broken down by {dimensions}.
POST
/v1beta/properties/{propertiesId}/conversionEvents
Create a conversion event (deprecated, v1beta) · Deprecated: Use `CreateKeyEvent` instead
#
Ask an LLM
“Can I still mark conversions through the deprecated v1beta endpoint?”
“What replaces the beta conversion create call?”
Tell an agent
On deprecated v1beta, add conversion {eventName} to property ID {propertiesId}.
Beta legacy: create conversion {eventName} counting {countingMethod} on property ID {propertiesId}.
GET
/v1beta/properties/{propertiesId}/conversionEvents
List conversion events (deprecated, v1beta) · Deprecated: Use `ListKeyEvents` instead
#
Ask an LLM
“Is the beta conversion events list still usable after the move to key events?”
“Can the deprecated v1beta list page through conversions for a property ID?”
Tell an agent
On deprecated v1beta, list conversions for property ID {propertiesId}.
Beta legacy: conversions of property ID {propertiesId}, {pageSize} per page.
DELETE
/v1beta/properties/{propertiesId}/conversionEvents/{conversionEventsId}
Delete a conversion event (deprecated, v1beta) · Deprecated: Use `DeleteKeyEvent` instead
#
Ask an LLM
“Can the deprecated v1beta endpoint remove a conversion from a property?”
“Should I delete legacy beta conversions or key events going forward?”
Tell an agent destructive · confirm first
On deprecated v1beta, remove conversion {conversionEventsId} from property ID {propertiesId}.
Beta legacy: drop conversion {conversionEventsId} for property ID {propertiesId}.
GET
/v1beta/properties/{propertiesId}/conversionEvents/{conversionEventsId}
Get a conversion event (deprecated, v1beta) · Deprecated: Use `GetKeyEvent` instead
#
Ask an LLM
“Via the deprecated beta endpoint, is a conversion event custom or built in?”
“Can v1beta fetch one legacy conversion by its ID?”
Tell an agent
On deprecated v1beta, get conversion {conversionEventsId} of property ID {propertiesId}.
Beta legacy: show whether conversion {conversionEventsId} on property ID {propertiesId} is deletable.
PATCH
/v1beta/properties/{propertiesId}/conversionEvents/{conversionEventsId}
Update a conversion event (deprecated, v1beta) · Deprecated: Use `UpdateKeyEvent` instead
#
Ask an LLM
“Through deprecated v1beta, can I edit a conversion's default value?”
“Is updating conversions on the beta endpoint still allowed?”
Tell an agent
On deprecated v1beta, change counting of conversion {conversionEventsId} on property ID {propertiesId} to {countingMethod}.
Beta legacy: default value {defaultConversionValue} for conversion {conversionEventsId}, property ID {propertiesId}.
POST
/v1beta/properties/{propertiesId}/customDimensions/{customDimensionsId}:archive
Archive a custom dimension (v1beta) · Archives a CustomDimension on a property
#
Ask an LLM
“Using the beta admin API, can I archive a dimension by property ID and dimension ID?”
“Is archiving a v1beta custom dimension reversible?”
Tell an agent destructive · confirm first
On v1beta, archive dimension {customDimensionsId} of property ID {propertiesId}.
Beta admin: stop dimension {customDimensionsId} showing in property ID {propertiesId}.
POST
/v1beta/properties/{propertiesId}/customDimensions
Create a custom dimension (v1beta) · Creates a CustomDimension
#
Ask an LLM
“With the beta admin API, can I register an item-scoped custom dimension?”
“Can a v1beta dimension be excluded from ads personalization at creation?”
Tell an agent
On v1beta, register parameter {parameterName} as dimension {displayName} on property ID {propertiesId}.
Beta admin: new {scope} dimension for {parameterName}, property ID {propertiesId}.
GET
/v1beta/properties/{propertiesId}/customDimensions
List custom dimensions (v1beta) · Lists CustomDimensions on a property
#
Ask an LLM
“In v1beta, how many custom dimensions does a property ID have?”
“Can the beta dimension list be paged?”
Tell an agent
On v1beta, get all custom dimensions of property ID {propertiesId}.
Beta admin: dimensions for property ID {propertiesId}, next page {pageToken}.
GET
/v1beta/properties/{propertiesId}/customDimensions/{customDimensionsId}
Get a custom dimension (v1beta) · Lookup for a single CustomDimension
#
Ask an LLM
“In v1beta, what description and scope does one custom dimension have?”
“Can the beta admin API read a dimension by its ID?”
Tell an agent
On v1beta, get dimension {customDimensionsId} of property ID {propertiesId}.
Beta admin: describe custom dimension {customDimensionsId} for property ID {propertiesId}.
PATCH
/v1beta/properties/{propertiesId}/customDimensions/{customDimensionsId}
Update a custom dimension (v1beta) · Updates a CustomDimension on a property
#
Ask an LLM
“Using v1beta, can I update a custom dimension's description?”
“Which custom dimension fields are editable through the beta API?”
Tell an agent
On v1beta, set description {description} on dimension {customDimensionsId} of property ID {propertiesId}.
Beta admin: give dimension {customDimensionsId} of property ID {propertiesId} the name {displayName}.
POST
/v1beta/properties/{propertiesId}/customMetrics/{customMetricsId}:archive
Archive a custom metric (v1beta) · Archives a CustomMetric on a property
#
Ask an LLM
“With the beta admin API, can I archive a metric by property ID and metric ID?”
“Does a v1beta archive remove the metric from explorations?”
Tell an agent destructive · confirm first
On v1beta, archive metric {customMetricsId} of property ID {propertiesId}.
Beta admin: take custom metric {customMetricsId} out of use on property ID {propertiesId}.
POST
/v1beta/properties/{propertiesId}/customMetrics
Create a custom metric (v1beta) · Creates a CustomMetric
#
Ask an LLM
“Using v1beta, can I create a currency-unit custom metric?”
“Can a beta-created metric be marked as restricted revenue data?”
Tell an agent
On v1beta, register parameter {parameterName} as metric {displayName} on property ID {propertiesId}.
Beta admin: new metric in {measurementUnit} for {parameterName}, property ID {propertiesId}.
GET
/v1beta/properties/{propertiesId}/customMetrics
List custom metrics (v1beta) · Lists CustomMetrics on a property
#
Ask an LLM
“In v1beta, which custom metrics are registered for a property ID?”
“Can I set a page size for the beta metrics list?”
Tell an agent
On v1beta, get all custom metrics of property ID {propertiesId}.
Beta admin: metrics for property ID {propertiesId}, {pageSize} at a time.
GET
/v1beta/properties/{propertiesId}/customMetrics/{customMetricsId}
Get a custom metric (v1beta) · Lookup for a single CustomMetric
#
Ask an LLM
“In the beta admin API, what scope and unit does one custom metric have?”
“Can v1beta fetch a metric by its ID?”
Tell an agent
On v1beta, get metric {customMetricsId} of property ID {propertiesId}.
Beta admin: describe custom metric {customMetricsId} for property ID {propertiesId}.
PATCH
/v1beta/properties/{propertiesId}/customMetrics/{customMetricsId}
Update a custom metric (v1beta) · Updates a CustomMetric on a property
#
Ask an LLM
“Using v1beta, can I change a custom metric's restricted metric type?”
“Is a metric's description editable in the beta API?”
Tell an agent
On v1beta, set restricted type {restrictedMetricType} on metric {customMetricsId} of property ID {propertiesId}.
Beta admin: give metric {customMetricsId} of property ID {propertiesId} the description {description}.
POST
/v1beta/properties/{propertiesId}/dataStreams
Create a data stream (v1beta) · Creates a DataStream
#
Ask an LLM
“Using the beta admin API, can I add an Android app stream?”
“What web stream data does v1beta need for a new website stream?”
Tell an agent
On v1beta, add a {type} stream called {displayName} to property ID {propertiesId}.
Beta admin: new Android stream with {androidAppStreamData} for property ID {propertiesId}.
GET
/v1beta/properties/{propertiesId}/dataStreams
List data streams (v1beta) · Lists DataStreams on a property
#
Ask an LLM
“In v1beta, which streams collect data for a property ID?”
“Can the beta stream list be paged with a token?”
Tell an agent
On v1beta, get all streams of property ID {propertiesId}.
Beta admin: streams for property ID {propertiesId}, next page {pageToken}.
DELETE
/v1beta/properties/{propertiesId}/dataStreams/{dataStreamsId}
Delete a data stream (v1beta) · Deletes a DataStream on a property
#
Ask an LLM
“Using v1beta, can I delete an app stream I no longer ship?”
“Is a v1beta stream deletion permanent?”
Tell an agent destructive · confirm first
On v1beta, delete stream {dataStreamsId} of property ID {propertiesId}.
Beta admin: drop data stream {dataStreamsId} for property ID {propertiesId}.
GET
/v1beta/properties/{propertiesId}/dataStreams/{dataStreamsId}
Get a data stream (v1beta) · Lookup for a single DataStream
#
Ask an LLM
“In v1beta, what are the settings of one data stream?”
“Can the beta admin API fetch a stream by property ID and stream ID?”
Tell an agent
On v1beta, get stream {dataStreamsId} of property ID {propertiesId}.
Beta admin: describe data stream {dataStreamsId} for property ID {propertiesId}.
PATCH
/v1beta/properties/{propertiesId}/dataStreams/{dataStreamsId}
Update a data stream (v1beta) · Updates a DataStream on a property
#
Ask an LLM
“Using the beta API, can I change a stream's display name?”
“Can v1beta update the web stream data of an existing stream?”
Tell an agent
On v1beta, give stream {dataStreamsId} of property ID {propertiesId} the name {displayName}.
Beta admin: patch stream {dataStreamsId}, property ID {propertiesId}, fields {updateMask}.
POST
/v1beta/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets
Create a Measurement Protocol secret (v1beta) · Creates a measurement protocol secret
#
Ask an LLM
“Using v1beta, can I issue a new Measurement Protocol secret for my web stream?”
“What must be acknowledged before a beta secret can be issued?”
Tell an agent
On v1beta, issue secret {displayName} for stream {dataStreamsId}, property ID {propertiesId}.
Beta admin: new Measurement Protocol API secret on stream {dataStreamsId} of property ID {propertiesId}.
GET
/v1beta/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets
List Measurement Protocol secrets (v1beta) · Returns child MeasurementProtocolSecrets under the specified parent Property
#
Ask an LLM
“In v1beta, what API secrets does a stream have for server-side events?”
“Can the beta secrets list be paged?”
Tell an agent
On v1beta, get Measurement Protocol secrets of stream {dataStreamsId}, property ID {propertiesId}.
Beta admin: API secrets for stream {dataStreamsId} in property ID {propertiesId}, next page {pageToken}.
DELETE
/v1beta/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}
Delete a Measurement Protocol secret (v1beta) · Deletes target MeasurementProtocolSecret
#
Ask an LLM
“Using v1beta, can I delete a Measurement Protocol secret that was exposed?”
“Is a beta secret deletion immediate?”
Tell an agent destructive · confirm first
On v1beta, revoke Measurement Protocol API secret {measurementProtocolSecretsId} under stream {dataStreamsId}, property ID {propertiesId}.
Beta admin: drop API secret {measurementProtocolSecretsId} on stream {dataStreamsId} in property ID {propertiesId}.
GET
/v1beta/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}
Get a Measurement Protocol secret (v1beta) · Lookup for a single MeasurementProtocolSecret
#
Ask an LLM
“In v1beta, can I read one Measurement Protocol secret's value by its ID?”
“What fields describe a secret in the beta admin API?”
Tell an agent
On v1beta, read Measurement Protocol API secret {measurementProtocolSecretsId} under stream {dataStreamsId}, property ID {propertiesId}.
Beta admin: describe API secret {measurementProtocolSecretsId} on stream {dataStreamsId} in property ID {propertiesId}.
PATCH
/v1beta/properties/{propertiesId}/dataStreams/{dataStreamsId}/measurementProtocolSecrets/{measurementProtocolSecretsId}
Update a Measurement Protocol secret (v1beta) · Updates a measurement protocol secret
#
Ask an LLM
“In v1beta, can a Measurement Protocol secret be given a clearer name?”
“Does the beta secret update touch the secret value?”
Tell an agent
On v1beta, relabel Measurement Protocol API secret {measurementProtocolSecretsId} under stream {dataStreamsId}, property ID {propertiesId}, as {displayName}.
Beta admin: patch fields {updateMask} on API secret {measurementProtocolSecretsId}, stream {dataStreamsId}, property ID {propertiesId}.
POST
/v1beta/properties/{propertiesId}/firebaseLinks
Link a Firebase project (v1beta) · Creates a FirebaseLink
#
Ask an LLM
“Using the beta admin API, can I tie a Firebase project to a property ID?”
“What does v1beta need to create a Firebase link?”
Tell an agent
On v1beta, tie Firebase project {project} to property ID {propertiesId}.
Beta admin: new Firebase link to {project} for property ID {propertiesId}.
GET
/v1beta/properties/{propertiesId}/firebaseLinks
List Firebase links (v1beta) · Lists FirebaseLinks on a property
#
Ask an LLM
“In v1beta, which Firebase project links to a property ID?”
“Is the beta Firebase link list ever longer than one?”
Tell an agent
On v1beta, get Firebase links of property ID {propertiesId}.
Beta admin: which Firebase project is tied to property ID {propertiesId}.
DELETE
/v1beta/properties/{propertiesId}/firebaseLinks/{firebaseLinksId}
Unlink a Firebase project (v1beta) · Deletes a FirebaseLink on a property
#
Ask an LLM
“In v1beta, can I break the link between a property and Firebase?”
“Which ID does the beta Firebase unlink require?”
Tell an agent destructive · confirm first
On v1beta, remove Firebase link {firebaseLinksId} of property ID {propertiesId}.
Beta admin: drop Firebase connection {firebaseLinksId} for property ID {propertiesId}.
POST
/v1beta/properties/{propertiesId}/googleAdsLinks
Link a Google Ads account (v1beta) · Creates a GoogleAdsLink
#
Ask an LLM
“Using v1beta, can I tie a Google Ads customer to a property ID?”
“Does the beta Google Ads link record who created it?”
Tell an agent
On v1beta, tie Google Ads customer {customerId} to property ID {propertiesId}.
Beta admin: new Google Ads link for {customerId} on property ID {propertiesId}, manage clients {canManageClients}.
GET
/v1beta/properties/{propertiesId}/googleAdsLinks
List Google Ads links (v1beta) · Lists GoogleAdsLinks on a property
#
Ask an LLM
“In v1beta, which Google Ads accounts are tied to a property ID?”
“Can the beta Google Ads link list be paged?”
Tell an agent
On v1beta, get Google Ads links of property ID {propertiesId}.
Beta admin: Google Ads connections for property ID {propertiesId}, next page {pageToken}.
DELETE
/v1beta/properties/{propertiesId}/googleAdsLinks/{googleAdsLinksId}
Unlink Google Ads (v1beta) · Deletes a GoogleAdsLink on a property
#
Ask an LLM
“In v1beta, can I break the tie between Google Ads and a property ID?”
“Which link ID does the beta Google Ads unlink use?”
Tell an agent destructive · confirm first
On v1beta, remove Google Ads link {googleAdsLinksId} of property ID {propertiesId}.
Beta admin: drop Google Ads connection {googleAdsLinksId} for property ID {propertiesId}.
PATCH
/v1beta/properties/{propertiesId}/googleAdsLinks/{googleAdsLinksId}
Update a Google Ads link (v1beta) · Updates a GoogleAdsLink on a property
#
Ask an LLM
“Using v1beta, can I change personalization on a Google Ads link by ID?”
“Which fields can the beta Google Ads link update touch?”
Tell an agent
On v1beta, set personalization {adsPersonalizationEnabled} for Google Ads link {googleAdsLinksId}, property ID {propertiesId}.
Beta admin: patch fields {updateMask} of Google Ads link {googleAdsLinksId} in property ID {propertiesId}.
POST
/v1beta/properties/{propertiesId}/keyEvents
Create a key event (v1beta) · Creates a Key Event
#
Ask an LLM
“Using the beta admin API, can I promote an event to a key event?”
“Can v1beta set a key event's counting method at creation?”
Tell an agent
On v1beta, promote {eventName} to a key event on property ID {propertiesId}.
Beta admin: new key event {eventName} counted {countingMethod}, property ID {propertiesId}.
GET
/v1beta/properties/{propertiesId}/keyEvents
List key events (v1beta) · Returns a list of Key Events in the specified parent property
#
Ask an LLM
“In v1beta, which key events does a property ID track?”
“Can the beta key event list be paged?”
Tell an agent
On v1beta, get key events of property ID {propertiesId}.
Beta admin: key events for property ID {propertiesId}, {pageSize} at a time.
DELETE
/v1beta/properties/{propertiesId}/keyEvents/{keyEventsId}
Delete a key event (v1beta) · Deletes a Key Event
#
Ask an LLM
“Using v1beta, can I demote a key event back to a normal event?”
“Is a v1beta key event removal permanent?”
Tell an agent destructive · confirm first
On v1beta, remove key event {keyEventsId} of property ID {propertiesId}.
Beta admin: demote key event {keyEventsId} for property ID {propertiesId}.
GET
/v1beta/properties/{propertiesId}/keyEvents/{keyEventsId}
Get a key event (v1beta) · Retrieve a single Key Event
#
Ask an LLM
“In v1beta, is a particular key event custom and deletable?”
“Can the beta admin API fetch a key event by ID?”
Tell an agent
On v1beta, get key event {keyEventsId} of property ID {propertiesId}.
Beta admin: describe key event {keyEventsId} for property ID {propertiesId}.
PATCH
/v1beta/properties/{propertiesId}/keyEvents/{keyEventsId}
Update a key event (v1beta) · Updates a Key Event
#
Ask an LLM
“In v1beta, can I change how a key event is counted?”
“Can the beta API give a key event a new default value?”
Tell an agent
On v1beta, count key event {keyEventsId} of property ID {propertiesId} as {countingMethod}.
Beta admin: default value {defaultValue} for key event {keyEventsId}, property ID {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/metadata
List report dimensions and metrics (v1alpha) · Returns metadata for dimensions and metrics available in reporting methods
#
Ask an LLM
“With the alpha Data API, which dimensions and metrics can I use in reports for a property?”
“Does v1alpha metadata include my property's custom dimensions?”
Tell an agent
Via v1alpha Data API, list reportable fields for property {propertiesId}.
Alpha Data API: show custom and standard dimensions and metrics available on property {propertiesId}.
GET
/v1alpha/properties/{propertiesId}/propertyQuotasSnapshot
Check a property's reporting quotas · Get all property quotas organized by quota category for a given property
#
Ask an LLM
“How much Data API quota has my property used, by category?”
“Does checking the quota snapshot itself consume quota?”
Tell an agent
Get the quota snapshot for property {propertiesId}.
Show remaining reporting quota by category on property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}:runFunnelReport
Run a funnel report · Returns a customized funnel report of your Google Analytics event data
#
Ask an LLM
“Can I measure how many users complete each step of my checkout funnel?”
“Can a funnel report break down steps by a dimension or show next actions?”
Tell an agent
Run a funnel report on property {propertiesId} with steps {funnel}.
Build funnel {funnel} for property {propertiesId} over {dateRanges}, broken down by {funnelBreakdown}.
POST
/v1alpha/properties/{propertiesId}:runReport
Run a report with comparisons (v1alpha) · Returns a customized report of your Google Analytics event data
#
Ask an LLM
“With the alpha Data API, can a report include comparisons and a conversion spec?”
“Does v1alpha runReport support cohort specs?”
Tell an agent
Via v1alpha Data API, report {metrics} on property {propertiesId} with comparisons {comparisons}.
Alpha Data API: run {metrics} by {dimensions} for property {propertiesId} using conversion spec {conversionSpec}.
POST
/v1alpha/properties/{propertiesId}/audienceLists
Create an audience list · Creates an audience list for later retrieval
#
Ask an LLM
“Can I snapshot the users in an audience into a list I can query later?”
“Can an audience list notify a webhook when it is ready?”
Tell an agent
Create an audience list of {audience} on property {propertiesId}.
Build audience list for {audience} on property {propertiesId} and notify {webhookNotification}.
GET
/v1alpha/properties/{propertiesId}/audienceLists
List audience lists · Lists all audience lists for a property
#
Ask an LLM
“Which audience lists already exist for my property so I can reuse one?”
“Can I page through a property's audience lists?”
Tell an agent
List audience lists on property {propertiesId}.
Show audience lists for property {propertiesId}, page {pageToken}.
GET
/v1alpha/properties/{propertiesId}/audienceLists/{audienceListsId}
Get an audience list's status · Gets configuration metadata about a specific audience list
#
Ask an LLM
“Is my audience list finished building or still in progress?”
“How many rows ended up in a specific audience list?”
Tell an agent
Show audience list {audienceListsId} on property {propertiesId}.
Check the build state of audience list {audienceListsId} in property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/audienceLists/{audienceListsId}:query
Fetch users in an audience list · Retrieves an audience list of users
#
Ask an LLM
“Once an audience list is ready, how do I read the users in it?”
“Can I page through audience list rows with offset and limit?”
Tell an agent
Query users from audience list {audienceListsId} on property {propertiesId}.
Read {limit} rows at offset {offset} from audience list {audienceListsId} in property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/recurringAudienceLists
Create a recurring audience list · Creates a recurring audience list
#
Ask an LLM
“Can GA4 produce a fresh audience list every day automatically?”
“How many active days does a recurring audience list keep running?”
Tell an agent
Create a recurring audience list for {audience} on property {propertiesId}.
Set up a daily recurring list of {audience} on property {propertiesId} with webhook {webhookNotification}.
GET
/v1alpha/properties/{propertiesId}/recurringAudienceLists
List recurring audience lists · Lists all recurring audience lists for a property
#
Ask an LLM
“Which daily recurring audience lists are set up on my property?”
“Can I find an existing recurring audience list instead of making another?”
Tell an agent
List recurring audience lists on property {propertiesId}.
Show daily recurring lists for property {propertiesId}, {pageSize} per page.
GET
/v1alpha/properties/{propertiesId}/recurringAudienceLists/{recurringAudienceListsId}
Get a recurring audience list · Gets configuration metadata about a specific recurring audience list
#
Ask an LLM
“Which audience lists has a recurring list produced so far?”
“How many active days remain on a recurring audience list?”
Tell an agent
Show recurring audience list {recurringAudienceListsId} on property {propertiesId}.
Check days remaining for recurring list {recurringAudienceListsId} in property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/reportTasks
Start an asynchronous report task · Initiates the creation of a report task
#
Ask an LLM
“Can I kick off a large GA4 report that runs in the background?”
“How long is a report task kept after it is created?”
Tell an agent
Create a report task on property {propertiesId} with definition {reportDefinition}.
Start a background report for property {propertiesId} using {reportDefinition}.
GET
/v1alpha/properties/{propertiesId}/reportTasks
List report tasks · Lists all report tasks for a property
#
Ask an LLM
“What asynchronous report tasks have been created for my property?”
“Can I page through a property's report tasks?”
Tell an agent
List report tasks on property {propertiesId}.
Show async report tasks for property {propertiesId}, page {pageToken}.
GET
/v1alpha/properties/{propertiesId}/reportTasks/{reportTasksId}
Check a report task's status · Gets report metadata about a specific report task
#
Ask an LLM
“Is my background report task done processing yet?”
“Can I inspect the definition of a report task I created?”
Tell an agent
Show report task {reportTasksId} on property {propertiesId}.
Check processing state of report task {reportTasksId} in property {propertiesId}.
POST
/v1alpha/properties/{propertiesId}/reportTasks/{reportTasksId}:query
Read a finished report task's rows · Retrieves a report task's content
#
Ask an LLM
“How do I get the results of a report task once it is active?”
“Why does fetching report task content fail before it is ACTIVE?”
Tell an agent
Fetch results of report task {reportTasksId} on property {propertiesId}.
Read {limit} rows from offset {offset} of report task {reportTasksId} in property {propertiesId}.
POST
/v1beta/properties/{propertiesId}:batchRunPivotReports
Batch pivot reports (v1beta by property ID) · Returns multiple pivot reports in a batch
#
Ask an LLM
“Using the beta Data API with a numeric property ID, can I send pivot requests together?”
“Is there a limit to mixing properties in one v1beta pivot batch?”
Tell an agent
On v1beta Data API, batch pivot requests {requests} for property ID {propertiesId}.
Beta data: several pivot tables at once for property ID {propertiesId}.
POST
/v1beta/properties/{propertiesId}:batchRunReports
Batch standard reports (v1beta by property ID) · Returns multiple reports in a batch
#
Ask an LLM
“With the beta Data API and a property ID, can I combine report requests into one call?”
“Do v1beta batched reports all have to be for one property?”
Tell an agent
On v1beta Data API, batch report requests {requests} for property ID {propertiesId}.
Beta data: run several core reports together for property ID {propertiesId}.
POST
/v1beta/properties/{propertiesId}:checkCompatibility
Check field compatibility (v1beta by property ID) · This compatibility method lists dimensions and metrics that can be added to a…
#
Ask an LLM
“Using the beta Data API, can I test a dimension and metric combo before running a report?”
“What does v1beta return when my requested fields clash?”
Tell an agent
On v1beta Data API, test whether {dimensions} and {metrics} fit together for property ID {propertiesId}.
Beta data: which fields stay compatible for property ID {propertiesId} given filter {compatibilityFilter}.
GET
/v1beta/properties/{propertiesId}/metadata
List report dimensions and metrics (v1beta) · Returns metadata for dimensions and metrics available in reporting methods
#
Ask an LLM
“Using the beta Data API, what API names do my property's custom metrics have?”
“Can v1beta metadata tell me every field I can query?”
Tell an agent
On v1beta Data API, get report metadata for property ID {propertiesId}.
Beta data: every dimension and metric API name for property ID {propertiesId}.
POST
/v1beta/properties/{propertiesId}:runPivotReport
Run a pivot report (v1beta by property ID) · Returns a customized pivot report of your Google Analytics event data
#
Ask an LLM
“With the beta Data API, can I cross-tabulate metrics by two dimensions for a property ID?”
“Does v1beta pivot reporting support comparisons?”
Tell an agent
On v1beta Data API, pivot {metrics} using {pivots} for property ID {propertiesId}.
Beta data: cross-tab for property ID {propertiesId} across {dateRanges} with comparisons {comparisons}.
POST
/v1beta/properties/{propertiesId}:runRealtimeReport
Run a realtime report (v1beta by property ID) · Returns a customized report of realtime event data for your property
#
Ask an LLM
“Using the beta Data API, which pages are people viewing right now on a property ID?”
“How many minutes back can a v1beta realtime report look?”
Tell an agent
On v1beta Data API, live {metrics} for property ID {propertiesId}.
Beta data: realtime {metrics} by {dimensions} in minute ranges {minuteRanges} for property ID {propertiesId}.
POST
/v1beta/properties/{propertiesId}:runReport
Run a core report (v1beta by property ID) · Returns a customized report of your Google Analytics event data
#
Ask an LLM
“With the beta Data API, what were my property's page views by page title last week?”
“Can a v1beta report keep empty rows and add metric totals?”
Tell an agent
On v1beta Data API, report {metrics} by {dimensions} for property ID {propertiesId}.
Beta data: {metrics} with aggregations {metricAggregations} over {dateRanges} for property ID {propertiesId}.
POST
/v1beta/properties/{propertiesId}/audienceExports
Start an audience export (v1beta by property ID) · Creates an audience export for later retrieval
#
Ask an LLM
“With the beta Data API, can I start exporting an audience for a property ID?”
“Does a v1beta audience export report percentage completed while building?”
Tell an agent
On v1beta Data API, start exporting audience {audience} for property ID {propertiesId}.
Beta data: export {audience} with dimensions {dimensions}, property ID {propertiesId}.
GET
/v1beta/properties/{propertiesId}/audienceExports
List audience exports (v1beta by property ID) · Lists all audience exports for a property
#
Ask an LLM
“Using the beta Data API, which audience exports exist for a property ID?”
“Can I page v1beta audience exports to find one to reuse?”
Tell an agent
On v1beta Data API, get audience exports of property ID {propertiesId}.
Beta data: audience exports for property ID {propertiesId}, next page {pageToken}.
GET
/v1beta/properties/{propertiesId}/audienceExports/{audienceExportsId}
Check an audience export's status · Gets configuration metadata about a specific audience export
#
Ask an LLM
“Is my audience export ready to query, and how many rows does it have?”
“Did an audience export fail, and what was the error message?”
Tell an agent
Show audience export {audienceExportsId} on property {propertiesId}.
Check state and row count of audience export {audienceExportsId} in property {propertiesId}.
POST
/v1beta/properties/{propertiesId}/audienceExports/{audienceExportsId}:query
Read users from an audience export (v1beta by property ID) · Retrieves an audience export of users
#
Ask an LLM
“With the beta Data API, how do I download the users in an audience export by its ID?”
“Can v1beta audience export rows be read in pages?”
Tell an agent
On v1beta Data API, read users of audience export {audienceExportsId} for property ID {propertiesId}.
Beta data: {limit} export rows after {offset} from export {audienceExportsId}, property ID {propertiesId}.
Documentation
📖
Documentation
https://developers.google.com/analytics/devguides/reporting/data/v1
📖
APIReference
https://developers.google.com/analytics/devguides/reporting/data/v1/rest
📖
GettingStarted
https://developers.google.com/analytics/devguides/reporting/data/v1/quickstart
📖
Authentication
https://developers.google.com/analytics/devguides/reporting/data/v1/quickstart-client-libraries
📖
RateLimits
https://developers.google.com/analytics/devguides/reporting/data/v1/quotas
📖
Documentation
https://developers.google.com/analytics/devguides/config/admin/v1
📖
APIReference
https://developers.google.com/analytics/devguides/config/admin/v1/rest
📖
GettingStarted
https://developers.google.com/analytics/devguides/config/admin/v1/quickstart
📖
Documentation
https://developers.google.com/analytics/devguides/collection/protocol/ga4
📖
APIReference
https://developers.google.com/analytics/devguides/collection/protocol/ga4/reference
📖
GettingStarted
https://developers.google.com/analytics/devguides/collection/protocol/ga4/sending-events
📖
Troubleshooting
https://developers.google.com/analytics/devguides/collection/protocol/ga4/troubleshooting
📖
Documentation
https://developers.google.com/analytics/devguides/config/userdeletion/v3
📖
APIReference
https://developers.google.com/analytics/devguides/config/userdeletion/v3/reference
📖
Authentication
https://developers.google.com/analytics/devguides/config/userdeletion/v3/authorization
📖
Documentation
https://developers.google.com/analytics/devguides/reporting/core/v4
📖
GettingStarted
https://developers.google.com/analytics/devguides/migration/api/reporting-ua-to-ga4
📖
Documentation
https://developers.google.com/analytics/devguides/config/mgmt/v3
📖
APIReference
https://developers.google.com/analytics/devguides/config/mgmt/v3/mgmtReference
Specifications
Code Examples
💻
CodeExamples
https://github.com/googleanalytics/python-docs-samples
💻
CodeExamples
https://github.com/googleanalytics/java-docs-samples
💻
CodeExamples
https://github.com/googleanalytics/nodejs-docs-samples
💻
CodeExamples
https://github.com/googleanalytics/dotnet-docs-samples
💻
CodeExamples
https://github.com/googleanalytics/php-docs-samples
💻
CodeExamples
https://github.com/googleanalytics/analytics-data-curl-examples
💻
CodeExamples
https://github.com/googleanalytics/analytics-data-javascript-examples
💻
CodeExamples
https://github.com/googleanalytics/analytics-samples-config
Other Resources
🔗
SDKs
https://pypi.org/project/google-analytics-data/
🔗
SDKs
https://www.npmjs.com/package/@google-analytics/data
🔗
SDKs
https://central.sonatype.com/artifact/com.google.analytics/google-analytics-data
🔗
SDKs
https://www.nuget.org/packages/Google.Analytics.Data.V1Beta
🔗
SDKs
https://packagist.org/packages/google/analytics-data
🔗
SDKs
https://developers.google.com/analytics/devguides/config/admin/v1/client-libraries
🔗
SDKs
https://pypi.org/project/google-analytics-admin/
🔗
SDKs
https://www.npmjs.com/package/@google-analytics/admin
🔗
SDKs
https://central.sonatype.com/artifact/com.google.analytics/google-analytics-admin
🔗
SDKs
https://www.nuget.org/packages/Google.Analytics.Admin.V1Beta
🔗
SDKs
https://packagist.org/packages/google/analytics-admin