You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GA4新手求助:除Node.js客户端外的其他数据获取及多维度查询方法

GA4数据获取方式及多维度数据查询指南

一、其他GA4数据获取方式

  • GA4 Reporting API(REST接口):无需依赖客户端库,直接发送HTTP请求调用API,请求遵循REST规范,返回JSON格式数据,适合不希望绑定特定语言库的场景。
  • Google Sheets集成:通过GA4官方插件或Google Apps Script,直接在表格内拉取数据,适合非开发人员快速做数据分析。
  • BigQuery导出:若GA4账号已关联BigQuery,可将原始数据定期同步到BigQuery,支持复杂SQL查询与大数据分析,适合深度数据挖掘需求。
  • GA4后台直接导出:在GA4管理界面直接导出CSV、Excel格式的报表数据,适合快速获取少量数据的场景。

二、多维度数据查询示例

以下基于你现有的Node.js客户端库代码结构,实现你需要的几种维度查询:

1. 按性别划分的用户数据

需确保GA4后台已启用用户人口统计数据收集,否则可能返回空结果。

const fetchUsersByGender = async function(req, res, next) {
    try {
        const [response] = await analyticsDataClient.runReport({
            property: `properties/${propertyId}`, 
            dateRanges: [
                {
                    startDate: '2023-10-31', 
                    endDate: 'today'
                }
            ], 
            dimensions: [
                {
                    name: 'userGender' // 性别维度字段
                }
            ],
            metrics: [
                {
                    name: 'totalUsers'
                }
            ]
        })
        const usersByGender = response?.rows.map(row => ({
            gender: row.dimensionValues[0].value, 
            users: row.metricValues[0].value,
        }))
        return usersByGender || [];
    } catch(error) {
        console.log(error, "获取GA4性别用户数据出错");
        next(error); 
    }
};

2. 特定国家访问用户数据

通过dimensionFilter指定目标国家,支持精确匹配或模糊匹配。

const fetchUsersBySpecificCountry = async function(req, res, next) {
    try {
        const [response] = await analyticsDataClient.runReport({
            property: `properties/${propertyId}`, 
            dateRanges: [
                {
                    startDate: '2023-10-31', 
                    endDate: 'today'
                }
            ], 
            dimensions: [
                {
                    name: 'country'
                }
            ],
            metrics: [
                {
                    name: 'totalUsers'
                }
            ],
            dimensionFilter: {
                filter: {
                    fieldName: 'country',
                    stringFilter: {
                        matchType: 'EXACT', // 精确匹配,可选CONTAINS做模糊匹配
                        value: 'China' // 替换为你需要查询的国家名称
                    }
                }
            }
        })
        const usersBySpecificCountry = response?.rows.map(row => ({
            country: row.dimensionValues[0].value, 
            users: row.metricValues[0].value,
        }))
        return usersBySpecificCountry || [];
    } catch(error) {
        console.log(error, "获取GA4特定国家用户数据出错");
        next(error); 
    }
};

3. 按浏览器划分的用户数据

直接使用browser维度字段即可:

const fetchUsersByBrowser = async function(req, res, next) {
    try {
        const [response] = await analyticsDataClient.runReport({
            property: `properties/${propertyId}`, 
            dateRanges: [
                {
                    startDate: '2023-10-31', 
                    endDate: 'today'
                }
            ], 
            dimensions: [
                {
                    name: 'browser' // 浏览器维度字段
                }
            ],
            metrics: [
                {
                    name: 'totalUsers'
                }
            ]
        })
        const usersByBrowser = response?.rows.map(row => ({
            browser: row.dimensionValues[0].value, 
            users: row.metricValues[0].value,
        }))
        return usersByBrowser || [];
    } catch(error) {
        console.log(error, "获取GA4浏览器用户数据出错");
        next(error); 
    }
};

额外提示:多维度组合查询

若需要同时查询多个维度(比如「国家+浏览器」的用户分布),只需在dimensions数组中添加多个字段即可:

dimensions: [
    { name: 'country' },
    { name: 'browser' }
]

返回结果会展示每个国家对应不同浏览器的用户数量。

内容的提问来源于stack exchange,提问作者Rohan Rana Magar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 02:57:52