Google Analytics Data V1beta Client - Class BetaAnalyticsDataClient (0.18.0)

Reference documentation and code samples for the Google Analytics Data V1beta Client class BetaAnalyticsDataClient.

Service Description: Google Analytics reporting data service.

This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:

$betaAnalyticsDataClient = new BetaAnalyticsDataClient();
try {
    $response = $betaAnalyticsDataClient->batchRunPivotReports();
} finally {
    $betaAnalyticsDataClient->close();
}

Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parseName method to extract the individual identifiers contained within formatted names that are returned by the API.

Namespace

Google \ Analytics \ Data \ V1beta

Methods

__construct

Constructor.

Parameters
Name Description
options array

Optional. Options for configuring the service API wrapper.

↳ apiEndpoint string

The address of the API remote host. May optionally include the port, formatted as "

↳ credentials string|array|FetchAuthTokenInterface|CredentialsWrapper

The credentials to be used by the client to authorize API calls. This option accepts either a path to a credentials file, or a decoded credentials file as a PHP array. Advanced usage: In addition, this option can also accept a pre-constructed Google\Auth\FetchAuthTokenInterface object or Google\ApiCore\CredentialsWrapper object. Note that when one of these objects are provided, any settings in $credentialsConfig will be ignored.

↳ credentialsConfig array

Options used to configure credentials, including auth token caching, for the client. For a full list of supporting configuration options, see Google\ApiCore\CredentialsWrapper::build() .

↳ disableRetries bool

Determines whether or not retries defined by the client configuration should be disabled. Defaults to false.

↳ clientConfig string|array

Client method configuration, including retry settings. This option can be either a path to a JSON file, or a PHP array containing the decoded JSON data. By default this settings points to the default client config file, which is provided in the resources folder.

↳ transport string|TransportInterface

The transport used for executing network requests. May be either the string rest or grpc. Defaults to grpc if gRPC support is detected on the system. Advanced usage: Additionally, it is possible to pass in an already instantiated Google\ApiCore\Transport\TransportInterface object. Note that when this object is provided, any settings in $transportConfig, and any $apiEndpoint setting, will be ignored.

↳ transportConfig array

Configuration options that will be used to construct the transport. Options for each supported transport type should be passed in a key for that transport. For example: $transportConfig = [ 'grpc' => [...], 'rest' => [...], ]; See the Google\ApiCore\Transport\GrpcTransport::build() and Google\ApiCore\Transport\RestTransport::build() methods for the supported options.

↳ clientCertSource callable

A callable which returns the client cert as a string. This can be used to provide a certificate and private key to the transport layer for mTLS.

batchRunPivotReports

Returns multiple pivot reports in a batch. All reports must be for the same GA4 Property.

Parameters
Name Description
optionalArgs array

Optional.

↳ property string

A Google Analytics GA4 property identifier whose events are tracked. Specified in the URL path and not the body. To learn more, see where to find your Property ID. This property must be specified for the batch. The property within RunPivotReportRequest may either be unspecified or consistent with this property. Example: properties/1234

↳ requests RunPivotReportRequest[]

Individual requests. Each request has a separate pivot report response. Each batch request is allowed up to 5 requests.

↳ retrySettings RetrySettings|array

Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage.

Returns
Type Description
Google\Analytics\Data\V1beta\BatchRunPivotReportsResponse
Example
use Google\Analytics\Data\V1beta\BatchRunPivotReportsRequest;
use Google\Analytics\Data\V1beta\BatchRunPivotReportsResponse;
use Google\Analytics\Data\V1beta\Client\BetaAnalyticsDataClient;
use Google\ApiCore\ApiException;

/**
 * This sample has been automatically generated and should be regarded as a code
 * template only. It will require modifications to work:
 *  - It may require correct/in-range values for request initialization.
 *  - It may require specifying regional endpoints when creating the service client,
 *    please see the apiEndpoint client configuration option for more details.
 */
function batch_run_pivot_reports_sample(): void
{
    // Create a client.
    $betaAnalyticsDataClient = new BetaAnalyticsDataClient();

    // Prepare the request message.
    $request = new BatchRunPivotReportsRequest();

    // Call the API and handle any network failures.
    try {
        /** @var BatchRunPivotReportsResponse $response */
        $response = $betaAnalyticsDataClient->batchRunPivotReports($request);
        printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}

batchRunReports

Returns multiple reports in a batch. All reports must be for the same GA4 Property.

Parameters
Name Description
optionalArgs array

Optional.

↳ property string

A Google Analytics GA4 property identifier whose events are tracked. Specified in the URL path and not the body. To learn more, see where to find your Property ID. This property must be specified for the batch. The property within RunReportRequest may either be unspecified or consistent with this property. Example: properties/1234

↳ requests RunReportRequest[]

Individual requests. Each request has a separate report response. Each batch request is allowed up to 5 requests.

↳ retrySettings RetrySettings|array

Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage.

Returns
Type Description
Google\Analytics\Data\V1beta\BatchRunReportsResponse
Example
use Google\Analytics\Data\V1beta\BatchRunReportsRequest;
use Google\Analytics\Data\V1beta\BatchRunReportsResponse;
use Google\Analytics\Data\V1beta\Client\BetaAnalyticsDataClient;
use Google\ApiCore\ApiException;

/**
 * This sample has been automatically generated and should be regarded as a code
 * template only. It will require modifications to work:
 *  - It may require correct/in-range values for request initialization.
 *  - It may require specifying regional endpoints when creating the service client,
 *    please see the apiEndpoint client configuration option for more details.
 */
function batch_run_reports_sample(): void
{
    // Create a client.
    $betaAnalyticsDataClient = new BetaAnalyticsDataClient();

    // Prepare the request message.
    $request = new BatchRunReportsRequest();

    // Call the API and handle any network failures.
    try {
        /** @var BatchRunReportsResponse $response */
        $response = $betaAnalyticsDataClient->batchRunReports($request);
        printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}

checkCompatibility

This compatibility method lists dimensions and metrics that can be added to a report request and maintain compatibility. This method fails if the request's dimensions and metrics are incompatible.

In Google Analytics, reports fail if they request incompatible dimensions and/or metrics; in that case, you will need to remove dimensions and/or metrics from the incompatible report until the report is compatible.

The Realtime and Core reports have different compatibility rules. This method checks compatibility for Core reports.

Parameters
Name Description
optionalArgs array

Optional.

↳ property string

A Google Analytics GA4 property identifier whose events are tracked. To learn more, see where to find your Property ID. property should be the same value as in your runReport request. Example: properties/1234

↳ dimensions Dimension[]

The dimensions in this report. dimensions should be the same value as in your runReport request.

↳ metrics Metric[]

The metrics in this report. metrics should be the same value as in your runReport request.

↳ dimensionFilter FilterExpression

The filter clause of dimensions. dimensionFilter should be the same value as in your runReport request.

↳ metricFilter FilterExpression

The filter clause of metrics. metricFilter should be the same value as in your runReport request

↳ compatibilityFilter int

Filters the dimensions and metrics in the response to just this compatibility. Commonly used as ”compatibilityFilter”: “COMPATIBLE” to only return compatible dimensions & metrics. For allowed values, use constants defined on Google\Analytics\Data\V1beta\Compatibility

↳ retrySettings RetrySettings|array

Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage.

Returns
Type Description
Google\Analytics\Data\V1beta\CheckCompatibilityResponse
Example
use Google\Analytics\Data\V1beta\CheckCompatibilityRequest;
use Google\Analytics\Data\V1beta\CheckCompatibilityResponse;
use Google\Analytics\Data\V1beta\Client\BetaAnalyticsDataClient;
use Google\ApiCore\ApiException;

/**
 * This sample has been automatically generated and should be regarded as a code
 * template only. It will require modifications to work:
 *  - It may require correct/in-range values for request initialization.
 *  - It may require specifying regional endpoints when creating the service client,
 *    please see the apiEndpoint client configuration option for more details.
 */
function check_compatibility_sample(): void
{
    // Create a client.
    $betaAnalyticsDataClient = new BetaAnalyticsDataClient();

    // Prepare the request message.
    $request = new CheckCompatibilityRequest();

    // Call the API and handle any network failures.
    try {
        /** @var CheckCompatibilityResponse $response */
        $response = $betaAnalyticsDataClient->checkCompatibility($request);
        printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}

createAudienceExport

Creates an audience export for later retrieval. This method quickly returns the audience export's resource name and initiates a long running asynchronous request to form an audience export. To export the users in an audience export, first create the audience export through this method and then send the audience resource name to the QueryAudienceExport method.

See Creating an Audience Export for an introduction to Audience Exports with examples.

An audience export is a snapshot of the users currently in the audience at the time of audience export creation. Creating audience exports for one audience on different days will return different results as users enter and exit the audience.

Audiences in Google Analytics 4 allow you to segment your users in the ways that are important to your business. To learn more, see https://support.google.com/analytics/answer/9267572. Audience exports contain the users in each audience.

Audience Export APIs have some methods at alpha and other methods at beta stability. The intention is to advance methods to beta stability after some feedback and adoption. To give your feedback on this API, complete the Google Analytics Audience Export API Feedback form.

Parameters
Name Description
parent string

Required. The parent resource where this audience export will be created. Format: properties/{property}

audienceExport Google\Analytics\Data\V1beta\AudienceExport

Required. The audience export to create.

optionalArgs array

Optional.

↳ retrySettings RetrySettings|array

Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage.

Returns
Type Description
Google\ApiCore\OperationResponse
Example
use Google\Analytics\Data\V1beta\AudienceDimension;
use Google\Analytics\Data\V1beta\AudienceExport;
use Google\Analytics\Data\V1beta\Client\BetaAnalyticsDataClient;
use Google\Analytics\Data\V1beta\CreateAudienceExportRequest;
use Google\ApiCore\ApiException;
use Google\ApiCore\OperationResponse;
use Google\Rpc\Status;

/**
 * @param string $formattedParent        The parent resource where this audience export will be created.
 *                                       Format: `properties/{property}`
 *                                       Please see {@see BetaAnalyticsDataClient::propertyName()} for help formatting this field.
 * @param string $audienceExportAudience The audience resource name. This resource name identifies the
 *                                       audience being listed and is shared between the Analytics Data & Admin
 *                                       APIs.
 *
 *                                       Format: `properties/{property}/audiences/{audience}`
 */
function create_audience_export_sample(
    string $formattedParent,
    string $audienceExportAudience
): void {
    // Create a client.
    $betaAnalyticsDataClient = new BetaAnalyticsDataClient();

    // Prepare the request message.
    $audienceExportDimensions = [new AudienceDimension()];
    $audienceExport = (new AudienceExport())
        ->setAudience($audienceExportAudience)
        ->setDimensions($audienceExportDimensions);
    $request = (new CreateAudienceExportRequest())
        ->setParent($formattedParent)
        ->setAudienceExport($audienceExport);

    // Call the API and handle any network failures.
    try {
        /** @var OperationResponse $response */
        $response = $betaAnalyticsDataClient->createAudienceExport($request);
        $response->pollUntilComplete();

        if ($response->operationSucceeded()) {
            /** @var AudienceExport $result */
            $result = $response->getResult();
            printf('Operation successful with response data: %s' . PHP_EOL, $result->serializeToJsonString());
        } else {
            /** @var Status $error */
            $error = $response->getError();
            printf('Operation failed with error data: %s' . PHP_EOL, $error->serializeToJsonString());
        }
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}

/**
 * Helper to execute the sample.
 *
 * This sample has been automatically generated and should be regarded as a code
 * template only. It will require modifications to work:
 *  - It may require correct/in-range values for request initialization.
 *  - It may require specifying regional endpoints when creating the service client,
 *    please see the apiEndpoint client configuration option for more details.
 */
function callSample(): void
{
    $formattedParent = BetaAnalyticsDataClient::propertyName('[PROPERTY]');
    $audienceExportAudience = '[AUDIENCE]';

    create_audience_export_sample($formattedParent, $audienceExportAudience);
}

getAudienceExport

Gets configuration metadata about a specific audience export. This method can be used to understand an audience export after it has been created.

See Creating an Audience Export for an introduction to Audience Exports with examples.

Audience Export APIs have some methods at alpha and other methods at beta stability. The intention is to advance methods to beta stability after some feedback and adoption. To give your feedback on this API, complete the Google Analytics Audience Export API Feedback form.

Parameters
Name Description
name string

Required. The audience export resource name. Format: properties/{property}/audienceExports/{audience_export}

optionalArgs array

Optional.

↳ retrySettings RetrySettings|array

Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage.

Returns
Type Description
Google\Analytics\Data\V1beta\AudienceExport
Example
use Google\Analytics\Data\V1beta\AudienceExport;
use Google\Analytics\Data\V1beta\Client\BetaAnalyticsDataClient;
use Google\Analytics\Data\V1beta\GetAudienceExportRequest;
use Google\ApiCore\ApiException;

/**
 * @param string $formattedName The audience export resource name.
 *                              Format: `properties/{property}/audienceExports/{audience_export}`
 *                              Please see {@see BetaAnalyticsDataClient::audienceExportName()} for help formatting this field.
 */
function get_audience_export_sample(string $formattedName): void
{
    // Create a client.
    $betaAnalyticsDataClient = new BetaAnalyticsDataClient();

    // Prepare the request message.
    $request = (new GetAudienceExportRequest())
        ->setName($formattedName);

    // Call the API and handle any network failures.
    try {
        /** @var AudienceExport $response */
        $response = $betaAnalyticsDataClient->getAudienceExport($request);
        printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}

/**
 * Helper to execute the sample.
 *
 * This sample has been automatically generated and should be regarded as a code
 * template only. It will require modifications to work:
 *  - It may require correct/in-range values for request initialization.
 *  - It may require specifying regional endpoints when creating the service client,
 *    please see the apiEndpoint client configuration option for more details.
 */
function callSample(): void
{
    $formattedName = BetaAnalyticsDataClient::audienceExportName('[PROPERTY]', '[AUDIENCE_EXPORT]');

    get_audience_export_sample($formattedName);
}

getMetadata

Returns metadata for dimensions and metrics available in reporting methods.

Used to explore the dimensions and metrics. In this method, a Google Analytics GA4 Property Identifier is specified in the request, and the metadata response includes Custom dimensions and metrics as well as Universal metadata.

For example if a custom metric with parameter name levels_unlocked is registered to a property, the Metadata response will contain customEvent:levels_unlocked. Universal metadata are dimensions and metrics applicable to any property such as country and totalUsers.

Parameters
Name Description
name string

Required. The resource name of the metadata to retrieve. This name field is specified in the URL path and not URL parameters. Property is a numeric Google Analytics GA4 Property identifier. To learn more, see where to find your Property ID.

Example: properties/1234/metadata

Set the Property ID to 0 for dimensions and metrics common to all properties. In this special mode, this method will not return custom dimensions and metrics.

optionalArgs array

Optional.

↳ retrySettings RetrySettings|array

Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage.

Returns
Type Description
Google\Analytics\Data\V1beta\Metadata
Example
use Google\Analytics\Data\V1beta\Client\BetaAnalyticsDataClient;
use Google\Analytics\Data\V1beta\GetMetadataRequest;
use Google\Analytics\Data\V1beta\Metadata;
use Google\ApiCore\ApiException;

/**
 * @param string $formattedName The resource name of the metadata to retrieve. This name field is
 *                              specified in the URL path and not URL parameters. Property is a numeric
 *                              Google Analytics GA4 Property identifier. To learn more, see [where to find
 *                              your Property
 *                              ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
 *
 *                              Example: properties/1234/metadata
 *
 *                              Set the Property ID to 0 for dimensions and metrics common to all
 *                              properties. In this special mode, this method will not return custom
 *                              dimensions and metrics. Please see
 *                              {@see BetaAnalyticsDataClient::metadataName()} for help formatting this field.
 */
function get_metadata_sample(string $formattedName): void
{
    // Create a client.
    $betaAnalyticsDataClient = new BetaAnalyticsDataClient();

    // Prepare the request message.
    $request = (new GetMetadataRequest())
        ->setName($formattedName);

    // Call the API and handle any network failures.
    try {
        /** @var Metadata $response */
        $response = $betaAnalyticsDataClient->getMetadata($request);
        printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}

/**
 * Helper to execute the sample.
 *
 * This sample has been automatically generated and should be regarded as a code
 * template only. It will require modifications to work:
 *  - It may require correct/in-range values for request initialization.
 *  - It may require specifying regional endpoints when creating the service client,
 *    please see the apiEndpoint client configuration option for more details.
 */
function callSample(): void
{
    $formattedName = BetaAnalyticsDataClient::metadataName('[PROPERTY]');

    get_metadata_sample($formattedName);
}

listAudienceExports

Lists all audience exports for a property. This method can be used for you to find and reuse existing audience exports rather than creating unnecessary new audience exports. The same audience can have multiple audience exports that represent the export of users that were in an audience on different days.

See Creating an Audience Export for an introduction to Audience Exports with examples.

Audience Export APIs have some methods at alpha and other methods at beta stability. The intention is to advance methods to beta stability after some feedback and adoption. To give your feedback on this API, complete the Google Analytics Audience Export API Feedback form.

Parameters
Name Description
parent string

Required. All audience exports for this property will be listed in the response. Format: properties/{property}

optionalArgs array

Optional.

↳ pageSize int

The maximum number of resources contained in the underlying API response. The API may return fewer values in a page, even if there are additional values to be retrieved.

↳ pageToken string

A page token is used to specify a page of values to be returned. If no page token is specified (the default), the first page of values will be returned. Any page token used here must have been generated by a previous call to the API.

↳ retrySettings RetrySettings|array

Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage.

Returns
Type Description
Google\ApiCore\PagedListResponse
Example
use Google\Analytics\Data\V1beta\AudienceExport;
use Google\Analytics\Data\V1beta\Client\BetaAnalyticsDataClient;
use Google\Analytics\Data\V1beta\ListAudienceExportsRequest;
use Google\ApiCore\ApiException;
use Google\ApiCore\PagedListResponse;

/**
 * @param string $formattedParent All audience exports for this property will be listed in the
 *                                response. Format: `properties/{property}`
 *                                Please see {@see BetaAnalyticsDataClient::propertyName()} for help formatting this field.
 */
function list_audience_exports_sample(string $formattedParent): void
{
    // Create a client.
    $betaAnalyticsDataClient = new BetaAnalyticsDataClient();

    // Prepare the request message.
    $request = (new ListAudienceExportsRequest())
        ->setParent($formattedParent);

    // Call the API and handle any network failures.
    try {
        /** @var PagedListResponse $response */
        $response = $betaAnalyticsDataClient->listAudienceExports($request);

        /** @var AudienceExport $element */
        foreach ($response as $element) {
            printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
        }
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}

/**
 * Helper to execute the sample.
 *
 * This sample has been automatically generated and should be regarded as a code
 * template only. It will require modifications to work:
 *  - It may require correct/in-range values for request initialization.
 *  - It may require specifying regional endpoints when creating the service client,
 *    please see the apiEndpoint client configuration option for more details.
 */
function callSample(): void
{
    $formattedParent = BetaAnalyticsDataClient::propertyName('[PROPERTY]');

    list_audience_exports_sample($formattedParent);
}

queryAudienceExport

Retrieves an audience export of users. After creating an audience, the users are not immediately available for exporting. First, a request to CreateAudienceExport is necessary to create an audience export of users, and then second, this method is used to retrieve the users in the audience export.

See Creating an Audience Export for an introduction to Audience Exports with examples.

Audiences in Google Analytics 4 allow you to segment your users in the ways that are important to your business. To learn more, see https://support.google.com/analytics/answer/9267572.

Audience Export APIs have some methods at alpha and other methods at beta stability. The intention is to advance methods to beta stability after some feedback and adoption. To give your feedback on this API, complete the Google Analytics Audience Export API Feedback form.

Parameters
Name Description
name string

Required. The name of the audience export to retrieve users from. Format: properties/{property}/audienceExports/{audience_export}

optionalArgs array

Optional.

↳ offset int

Optional. The row count of the start row. The first row is counted as row 0. When paging, the first request does not specify offset; or equivalently, sets offset to 0; the first request returns the first limit of rows. The second request sets offset to the limit of the first request; the second request returns the second limit of rows. To learn more about this pagination parameter, see Pagination.

↳ limit int

Optional. The number of rows to return. If unspecified, 10,000 rows are returned. The API returns a maximum of 250,000 rows per request, no matter how many you ask for. limit must be positive. The API can also return fewer rows than the requested limit, if there aren't as many dimension values as the limit. To learn more about this pagination parameter, see Pagination.

↳ retrySettings RetrySettings|array

Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage.

Returns
Type Description
Google\Analytics\Data\V1beta\QueryAudienceExportResponse
Example
use Google\Analytics\Data\V1beta\Client\BetaAnalyticsDataClient;
use Google\Analytics\Data\V1beta\QueryAudienceExportRequest;
use Google\Analytics\Data\V1beta\QueryAudienceExportResponse;
use Google\ApiCore\ApiException;

/**
 * @param string $name The name of the audience export to retrieve users from.
 *                     Format: `properties/{property}/audienceExports/{audience_export}`
 */
function query_audience_export_sample(string $name): void
{
    // Create a client.
    $betaAnalyticsDataClient = new BetaAnalyticsDataClient();

    // Prepare the request message.
    $request = (new QueryAudienceExportRequest())
        ->setName($name);

    // Call the API and handle any network failures.
    try {
        /** @var QueryAudienceExportResponse $response */
        $response = $betaAnalyticsDataClient->queryAudienceExport($request);
        printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}

/**
 * Helper to execute the sample.
 *
 * This sample has been automatically generated and should be regarded as a code
 * template only. It will require modifications to work:
 *  - It may require correct/in-range values for request initialization.
 *  - It may require specifying regional endpoints when creating the service client,
 *    please see the apiEndpoint client configuration option for more details.
 */
function callSample(): void
{
    $name = '[NAME]';

    query_audience_export_sample($name);
}

runPivotReport

Returns a customized pivot report of your Google Analytics event data.

Pivot reports are more advanced and expressive formats than regular reports. In a pivot report, dimensions are only visible if they are included in a pivot. Multiple pivots can be specified to further dissect your data.

Parameters
Name Description
optionalArgs array

Optional.

↳ property string

A Google Analytics GA4 property identifier whose events are tracked. Specified in the URL path and not the body. To learn more, see where to find your Property ID. Within a batch request, this property should either be unspecified or consistent with the batch-level property. Example: properties/1234

↳ dimensions Dimension[]

The dimensions requested. All defined dimensions must be used by one of the following: dimension_expression, dimension_filter, pivots, order_bys.

↳ metrics Metric[]

The metrics requested, at least one metric needs to be specified. All defined metrics must be used by one of the following: metric_expression, metric_filter, order_bys.

↳ dateRanges DateRange[]

The date range to retrieve event data for the report. If multiple date ranges are specified, event data from each date range is used in the report. A special dimension with field name "dateRange" can be included in a Pivot's field names; if included, the report compares between date ranges. In a cohort request, this dateRanges must be unspecified.

↳ pivots Pivot[]

Describes the visual format of the report's dimensions in columns or rows. The union of the fieldNames (dimension names) in all pivots must be a subset of dimension names defined in Dimensions. No two pivots can share a dimension. A dimension is only visible if it appears in a pivot.

↳ dimensionFilter FilterExpression

The filter clause of dimensions. Dimensions must be requested to be used in this filter. Metrics cannot be used in this filter.

↳ metricFilter FilterExpression

The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Metrics must be requested to be used in this filter. Dimensions cannot be used in this filter.

↳ currencyCode string

A currency code in ISO4217 format, such as "AED", "USD", "JPY". If the field is empty, the report uses the property's default currency.

↳ cohortSpec CohortSpec

Cohort group associated with this request. If there is a cohort group in the request the 'cohort' dimension must be present.

↳ keepEmptyRows bool

If false or unspecified, each row with all metrics equal to 0 will not be returned. If true, these rows will be returned if they are not separately removed by a filter. Regardless of this keep_empty_rows setting, only data recorded by the Google Analytics (GA4) property can be displayed in a report. For example if a property never logs a purchase event, then a query for the eventName dimension and eventCount metric will not have a row eventName: "purchase" and eventCount: 0.

↳ returnPropertyQuota bool

Toggles whether to return the current state of this Analytics Property's quota. Quota is returned in PropertyQuota.

↳ comparisons Comparison[]

Optional. The configuration of comparisons requested and displayed. The request requires both a comparisons field and a comparisons dimension to receive a comparison column in the response.

↳ retrySettings RetrySettings|array

Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage.

Returns
Type Description
Google\Analytics\Data\V1beta\RunPivotReportResponse
Example
use Google\Analytics\Data\V1beta\Client\BetaAnalyticsDataClient;
use Google\Analytics\Data\V1beta\RunPivotReportRequest;
use Google\Analytics\Data\V1beta\RunPivotReportResponse;
use Google\ApiCore\ApiException;

/**
 * This sample has been automatically generated and should be regarded as a code
 * template only. It will require modifications to work:
 *  - It may require correct/in-range values for request initialization.
 *  - It may require specifying regional endpoints when creating the service client,
 *    please see the apiEndpoint client configuration option for more details.
 */
function run_pivot_report_sample(): void
{
    // Create a client.
    $betaAnalyticsDataClient = new BetaAnalyticsDataClient();

    // Prepare the request message.
    $request = new RunPivotReportRequest();

    // Call the API and handle any network failures.
    try {
        /** @var RunPivotReportResponse $response */
        $response = $betaAnalyticsDataClient->runPivotReport($request);
        printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}

runRealtimeReport

Returns a customized report of realtime event data for your property.

Events appear in realtime reports seconds after they have been sent to the Google Analytics. Realtime reports show events and usage data for the periods of time ranging from the present moment to 30 minutes ago (up to 60 minutes for Google Analytics 360 properties).

For a guide to constructing realtime requests & understanding responses, see Creating a Realtime Report.

Parameters
Name Description
optionalArgs array

Optional.

↳ property string

A Google Analytics GA4 property identifier whose events are tracked. Specified in the URL path and not the body. To learn more, see where to find your Property ID. Example: properties/1234

↳ dimensions Dimension[]

The dimensions requested and displayed.

↳ metrics Metric[]

The metrics requested and displayed.

↳ dimensionFilter FilterExpression

The filter clause of dimensions. Metrics cannot be used in this filter.

↳ metricFilter FilterExpression

The filter clause of metrics. Applied at post aggregation phase, similar to SQL having-clause. Dimensions cannot be used in this filter.

↳ limit int

The number of rows to return. If unspecified, 10,000 rows are returned. The API returns a maximum of 250,000 rows per request, no matter how many you ask for. limit must be positive. The API can also return fewer rows than the requested limit, if there aren't as many dimension values as the limit. For instance, there are fewer than 300 possible values for the dimension country, so when reporting on only country, you can't get more than 300 rows, even if you set limit to a higher value.

↳ metricAggregations int[]

Aggregation of metrics. Aggregated metric values will be shown in rows where the dimension_values are set to "RESERVED_(MetricAggregation)". For allowed values, use constants defined on Google\Analytics\Data\V1beta\MetricAggregation

↳ orderBys OrderBy[]

Specifies how rows are ordered in the response.

↳ returnPropertyQuota bool

Toggles whether to return the current state of this Analytics Property's Realtime quota. Quota is returned in PropertyQuota.

↳ minuteRanges MinuteRange[]

The minute ranges of event data to read. If unspecified, one minute range for the last 30 minutes will be used. If multiple minute ranges are requested, each response row will contain a zero based minute range index. If two minute ranges overlap, the event data for the overlapping minutes is included in the response rows for both minute ranges.

↳ retrySettings RetrySettings|array

Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage.

Returns
Type Description
Google\Analytics\Data\V1beta\RunRealtimeReportResponse
Example
use Google\Analytics\Data\V1beta\Client\BetaAnalyticsDataClient;
use Google\Analytics\Data\V1beta\RunRealtimeReportRequest;
use Google\Analytics\Data\V1beta\RunRealtimeReportResponse;
use Google\ApiCore\ApiException;

/**
 * This sample has been automatically generated and should be regarded as a code
 * template only. It will require modifications to work:
 *  - It may require correct/in-range values for request initialization.
 *  - It may require specifying regional endpoints when creating the service client,
 *    please see the apiEndpoint client configuration option for more details.
 */
function run_realtime_report_sample(): void
{
    // Create a client.
    $betaAnalyticsDataClient = new BetaAnalyticsDataClient();

    // Prepare the request message.
    $request = new RunRealtimeReportRequest();

    // Call the API and handle any network failures.
    try {
        /** @var RunRealtimeReportResponse $response */
        $response = $betaAnalyticsDataClient->runRealtimeReport($request);
        printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}

runReport

Returns a customized report of your Google Analytics event data. Reports contain statistics derived from data collected by the Google Analytics tracking code. The data returned from the API is as a table with columns for the requested dimensions and metrics. Metrics are individual measurements of user activity on your property, such as active users or event count. Dimensions break down metrics across some common criteria, such as country or event name.

For a guide to constructing requests & understanding responses, see Creating a Report.

Parameters
Name Description
optionalArgs array

Optional.

↳ property string

A Google Analytics GA4 property identifier whose events are tracked. Specified in the URL path and not the body. To learn more, see where to find your Property ID. Within a batch request, this property should either be unspecified or consistent with the batch-level property. Example: properties/1234

↳ dimensions Dimension[]

The dimensions requested and displayed.

↳ metrics Metric[]

The metrics requested and displayed.

↳ dateRanges DateRange[]

Date ranges of data to read. If multiple date ranges are requested, each response row will contain a zero based date range index. If two date ranges overlap, the event data for the overlapping days is included in the response rows for both date ranges. In a cohort request, this dateRanges must be unspecified.

↳ dimensionFilter FilterExpression

Dimension filters let you ask for only specific dimension values in the report. To learn more, see Fundamentals of Dimension Filters for examples. Metrics cannot be used in this filter.

↳ metricFilter FilterExpression

The filter clause of metrics. Applied after aggregating the report's rows, similar to SQL having-clause. Dimensions cannot be used in this filter.

↳ offset int

The row count of the start row. The first row is counted as row 0. When paging, the first request does not specify offset; or equivalently, sets offset to 0; the first request returns the first limit of rows. The second request sets offset to the limit of the first request; the second request returns the second limit of rows. To learn more about this pagination parameter, see Pagination.

↳ limit int

The number of rows to return. If unspecified, 10,000 rows are returned. The API returns a maximum of 250,000 rows per request, no matter how many you ask for. limit must be positive. The API can also return fewer rows than the requested limit, if there aren't as many dimension values as the limit. For instance, there are fewer than 300 possible values for the dimension country, so when reporting on only country, you can't get more than 300 rows, even if you set limit to a higher value. To learn more about this pagination parameter, see Pagination.

↳ metricAggregations int[]

Aggregation of metrics. Aggregated metric values will be shown in rows where the dimension_values are set to "RESERVED_(MetricAggregation)". For allowed values, use constants defined on Google\Analytics\Data\V1beta\MetricAggregation

↳ orderBys OrderBy[]

Specifies how rows are ordered in the response.

↳ currencyCode string

A currency code in ISO4217 format, such as "AED", "USD", "JPY". If the field is empty, the report uses the property's default currency.

↳ cohortSpec CohortSpec

Cohort group associated with this request. If there is a cohort group in the request the 'cohort' dimension must be present.

↳ keepEmptyRows bool

If false or unspecified, each row with all metrics equal to 0 will not be returned. If true, these rows will be returned if they are not separately removed by a filter. Regardless of this keep_empty_rows setting, only data recorded by the Google Analytics (GA4) property can be displayed in a report. For example if a property never logs a purchase event, then a query for the eventName dimension and eventCount metric will not have a row eventName: "purchase" and eventCount: 0.

↳ returnPropertyQuota bool

Toggles whether to return the current state of this Analytics Property's quota. Quota is returned in PropertyQuota.

↳ comparisons Comparison[]

Optional. The configuration of comparisons requested and displayed. The request only requires a comparisons field in order to receive a comparison column in the response.

↳ retrySettings RetrySettings|array

Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage.

Returns
Type Description
Google\Analytics\Data\V1beta\RunReportResponse
Example
use Google\Analytics\Data\V1beta\Client\BetaAnalyticsDataClient;
use Google\Analytics\Data\V1beta\RunReportRequest;
use Google\Analytics\Data\V1beta\RunReportResponse;
use Google\ApiCore\ApiException;

/**
 * This sample has been automatically generated and should be regarded as a code
 * template only. It will require modifications to work:
 *  - It may require correct/in-range values for request initialization.
 *  - It may require specifying regional endpoints when creating the service client,
 *    please see the apiEndpoint client configuration option for more details.
 */
function run_report_sample(): void
{
    // Create a client.
    $betaAnalyticsDataClient = new BetaAnalyticsDataClient();

    // Prepare the request message.
    $request = new RunReportRequest();

    // Call the API and handle any network failures.
    try {
        /** @var RunReportResponse $response */
        $response = $betaAnalyticsDataClient->runReport($request);
        printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}

getOperationsClient

Return an OperationsClient object with the same endpoint as $this.

Returns
Type Description
Google\ApiCore\LongRunning\OperationsClient

resumeOperation

Resume an existing long running operation that was previously started by a long running API method. If $methodName is not provided, or does not match a long running API method, then the operation can still be resumed, but the OperationResponse object will not deserialize the final response.

Parameters
Name Description
operationName string

The name of the long running operation

methodName string

The name of the method used to start the operation

Returns
Type Description
Google\ApiCore\OperationResponse

static::audienceExportName

Formats a string containing the fully-qualified path to represent a audience_export resource.

Parameters
Name Description
property string
audienceExport string
Returns
Type Description
string The formatted audience_export resource.

static::metadataName

Formats a string containing the fully-qualified path to represent a metadata resource.

Parameter
Name Description
property string
Returns
Type Description
string The formatted metadata resource.

static::propertyName

Formats a string containing the fully-qualified path to represent a property resource.

Parameter
Name Description
property string
Returns
Type Description
string The formatted property resource.

static::parseName

Parses a formatted name string and returns an associative array of the components in the name.

The following name formats are supported: Template: Pattern

  • audienceExport: properties/{property}/audienceExports/{audience_export}
  • metadata: properties/{property}/metadata
  • property: properties/{property}

The optional $template argument can be supplied to specify a particular pattern, and must match one of the templates listed above. If no $template argument is provided, or if the $template argument does not match one of the templates listed, then parseName will check each of the supported templates, and return the first match.

Parameters
Name Description
formattedName string

The formatted name string

template string

Optional name of template to match

Returns
Type Description
array An associative array from name component IDs to component values.

Constants

SERVICE_NAME

Value: 'google.analytics.data.v1beta.BetaAnalyticsData'

The name of the service.

SERVICE_ADDRESS

Value: 'analyticsdata.googleapis.com'

The default address of the service.

DEFAULT_SERVICE_PORT

Value: 443

The default port of the service.

CODEGEN_NAME

Value: 'gapic'

The name of the code generator, to be included in the agent header.