Gooogle Analytics Virtual Assistant
Gooogle Analytics Virtual Assistant · Actions GPT
Adzviser Actions for GPT
Equip GPTs with the ability to retrieve real-time reporting data from Google Analytics
GET /ga4/get_metrics_listgetGa4MetricsListGet the list of seletable Google Analytics metrics such as Active users, New users, Ecommerce Add-to-carts, etc.
GET /ga4/get_breakdowns_listgetGa4BreakdownsListGet the list of seletable Google Analytics breakdowns such as Country, Page location etc.
POST /search_barsearchQueryRetrieve real-time reporting data such as Bounce rate, Engagement rate etc. from Google Analytics.
GET /workspace/getgetWorkspaceRetrieve a list of workspaces that have been created by the user and their data sources, such as Google Ads, Google Analytics accounts connected with each.
Schéma original API
{
"openapi": "3.1.0",
"info": {
"title": "Adzviser Actions for GPT",
"description": "Equip GPTs with the ability to retrieve real-time reporting data from Google Analytics",
"version": "v0.0.1"
},
"servers": [
{
"url": "https://copter.adzviser.com"
}
],
"paths": {
"/ga4/get_metrics_list": {
"get": {
"description": "Get the list of seletable Google Analytics metrics such as Active users, New users, Ecommerce Add-to-carts, etc.",
"operationId": "getGa4MetricsList",
"parameters": [],
"deprecated": false,
"security": [],
"x-openai-isConsequential": false
}
},
"/ga4/get_breakdowns_list": {
"get": {
"description": "Get the list of seletable Google Analytics breakdowns such as Country, Page location etc.",
"operationId": "getGa4BreakdownsList",
"parameters": [],
"deprecated": false,
"security": [],
"x-openai-isConsequential": false
}
},
"/search_bar": {
"post": {
"description": "Retrieve real-time reporting data such as Bounce rate, Engagement rate etc. from Google Analytics.",
"operationId": "searchQuery",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/searchQueryRequest"
}
}
},
"required": true
},
"deprecated": false,
"security": [
{
"oauth2": []
}
],
"x-openai-isConsequential": false
}
},
"/workspace/get": {
"get": {
"description": "Retrieve a list of workspaces that have been created by the user and their data sources, such as Google Ads, Google Analytics accounts connected with each.",
"operationId": "getWorkspace",
"parameters": [],
"deprecated": false,
"security": [
{
"oauth2": []
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/getWorkspaceResponse"
}
}
}
}
},
"x-openai-isConsequential": false
}
}
},
"components": {
"schemas": {
"getWorkspaceResponse": {
"title": "getWorkspaceResponse",
"type": "array",
"description": "The list of workspaces created by the user on adzviser.com/main. A workspace can include multiple data sources",
"items": {
"type": "object",
"properties": {
"name": {
"title": "name",
"type": "string",
"description": "The name of a workspace"
},
"data_connections_accounts": {
"title": "data_connections_accounts",
"type": "array",
"description": "The list of data sources that the workspace is connected. The name can be an account name and type can be i.e. Google Ads, Facebook Ads, Google Analytics, etc",
"items": {
"type": "object",
"properties": {
"name": {
"title": "name",
"type": "string",
"description": "The name of a data connection account"
}
}
}
}
}
}
},
"searchQueryRequest": {
"description": "Contains details about queried data source, metrics, breakdowns, time ranges and time granularity, etc.",
"type": "object",
"required": [
"assorted_requests",
"workspace_name",
"date_ranges"
],
"title": "searchQueryRequest",
"properties": {
"assorted_requests": {
"type": "object",
"title": "assorted_requests",
"description": "For example, if the user asks for \"new users on Google Analytics last month\", then call getGa4MetricsList and getGa4BreakdownsList to retrieve the latest up-to-date info about how to compose a ga4_request. A metric is a quantitative measurement. It represents data that can be measured and expressed in numbers. Metrics are used to track performance or behavior. Examples include clicks, impressions, conversions, revenue, etc. A breakdown is a qualitative attribute or descriptor. It provides context for metrics by categorizing or segmenting them. Breakdowns are text. Examples include country, channel, campaign name, etc. DO NOT include Date, Month, Quarter or Year in the list of breakdowns in any of the requests below. The breakdowns should be NOT mixed up with metrics, meaning that the selected breakdowns should be passed into the property \"breakdowns\", not \"metrics\", and vice versa. Last but not least, please always use Python and Code Interpreter to validate and print the JSON object of the composed searchQueryRequest before sending the request to the server (/search_bar). Such a validation on the searchQueryRequest JSON object is to avoid the painful ApiSyntaxErrors.",
"properties": {
"ga4_request": {
"type": "object",
"description": "A request that contains details of demand for Google Analytics data.",
"required": [
"metrics",
"breakdowns"
],
"properties": {
"breakdowns": {
"type": "array",
"items": {
"type": "string"
},
"description": "Must call API getGa4BreakdownsList to retrieve a list of selectable breakdowns."
},
"metrics": {
"type": "array",
"items": {
"type": "string"
},
"description": "Must call API getGa4MetricsList to retrieve a list of selectable metrics."
}
}
}
}
},
"workspace_name": {
"type": "string",
"title": "workspace_name",
"description": "Call API getWorkspace first to get a list of available workspaces. Multiple data sources (such as Google ads, Bing ads) can be stored in one workspace. If the user does not specify a workspace name, then use the available workspace name from the retrieved list and see which one has Google Analytics. If the user has not yet created one, then ask them to go to adzviser.com/main to create a new workspace."
},
"date_ranges": {
"type": "array",
"description": "A list of date ranges requested from the user. They needs to be calculated seperately with Code Interpreter and Python every single time for accuracy. For example, if the user requests \"Google Analytics new users in May and August\", then this array should be [[\"2024-05-01\", \"2024-05-31\"], [\"2024-08-01\", \"2024-08-31\"]].",
"items": {
"type": "array",
"items": {
"type": "string"
},
"description": "A 2-element array. The first represents the start date and the second the end date. Both are in YYYY-MM-DD format."
}
},
"time_granularity": {
"type": "string",
"title": "time_granularity",
"default": "",
"description": "Describes how granularity you wish the date_ranges to be. For example, If the user asks \"weekly new users on Google Analytics\" this year, then this value should be \"Week\". If the user does not specify, then leave it as empty.",
"enum": [
"Date",
"Week",
"Month",
"Quarter"
]
}
}
}
},
"securitySchemes": {
"oauth2": {
"type": "oauth2"
}
}
}
}