Overview
Fetch Multiple Google Analytics GA4 metrics daily, post to Discord, update previous day’s entry as GA data finalizes over seven days.

Benefits
- Automates daily traffic reporting
- Maintains single message per day, avoids channel clutter
- Provides near–real-time updates by editing prior messages
Use Case
- Teams tracking website performance via Discord (or any chat tool) without manual copy–paste. Marketing managers, community moderators, growth hackers.
- If your manager asks you for daily marketing report every morning, you can now automate it
Notes
- google analytics node in n8n does not provide real time data. The node updates previous values for the next 7 days
- discord node on n8n does not have features to update an exisiting message by message id. So we have used the discord api for this
- most businesses use multiple google analytics properties across their digital platforms
Core Logic
- Schedule trigger fires once a day.
- Google Analytics node retrieves metrics for date ranges (past 7 days)
- Aggregate node collates all records.
- Discord node fetches the last 10 messages in the broadcast channel
- Code node maps existing Discord messages by to the google analytics data using the date fields
- For each GA record:
- If no message exists → send new POST to the discord channel
- If message exists and metrics changed, send an update patch to the existing discord message
- Batch loops + wait nodes prevent rate-limit.
Setup Instructions
- Import workflow JSON into n8n.
- Follow the n8n guide to Create Google Analytics OAuth2 credential with access to all required GA accounts.
- Follow the n8n guide to Create Discord OAuth2 credential for “Get Messages” operations.
- Follow the Discord guide to Create HTTP Header Auth credential named “Discord-Bot” with header
Key: Authorization
Value: Bot <your-bot-token>
-
In the two Set nodes in the beginning of the flow, assign discord_channel_id and google_analytics_id.

- Get your discord channel id by sending a text on your discord channel and then copy message link
- Paste the text below and you will see your message link in the form of https://discord.com/channels/server_id/channel_id/message_id , you will want to get the channel_id which is the number in the middle

- Find your google analytics id by going to google analytics dashboard, seeing the properties in the top right and copy paste that number to the flow

-
Adjust schedule trigger times to your preferred report hour.
-
Activate workflow.
Customization
Replace Discord HTTP Request nodes with Slack, ClickUp, WhatsApp, Telegram integrations by swapping POST/PATCH endpoints and authentication.