DOCUMENTATION / Connect tools
Set up a Google app
Create the Google Cloud project and OAuth credentials used by YouTube, Search Console, and GA4.
On this page
Jak uses your own Google OAuth app for Google connections. You authorize access with a Google account that can view the channel or properties. These integrations request read-only access.
1. Create or choose a project
Open Google Cloud Console and create or select a project for Jak. Use the same project when configuring the consent screen, enabling APIs, and creating the OAuth client.
Enable the APIs for the services you want:
| Service | Enable in the API Library |
|---|---|
| YouTube | YouTube Data API v3 and YouTube Analytics API |
| Search Console | Search Console API |
| Google Analytics | Google Analytics Admin API and Google Analytics Data API |
2. Configure consent
Open Google Auth Platform in the project. Under Branding, enter an app name you recognize, such as Jak, and your support and contact email. Under Audience, choose the audience appropriate to your account. For personal use with an external app in testing, add the Google account you will connect under Test users.
Under Data Access, configure the read-only scopes needed for your chosen services. Jak requests:
- YouTube:
youtube.readonlyandyt-analytics.readonly. - Search Console:
webmasters.readonly. - Google Analytics:
analytics.readonly.
Google may display the full scope URLs beginning with https://www.googleapis.com/auth/. Follow Google’s consent setup guide if your console uses a different navigation layout.
3. Choose a client type
Local installation
Under Clients → Create client, choose Desktop app and copy the Client ID. Open local Jak using a loopback address such as http://127.0.0.1:3000. Keep the same address throughout authorization.
Google supports a loopback callback for desktop clients. See Google’s desktop OAuth guide. Jak’s forms also accept a client secret; supply it if the credentials you created require one.
Hosted installation
Use a Web application client. Add each service’s exact callback under Authorized redirect URIs, then copy the Client ID and Client Secret into Jak. Search Console and GA4 show their callback URL in Tools.
For example, with Jak hosted at https://jak.example.com, the callbacks are:
https://jak.example.com/api/v1/oauth/youtube/callback
https://jak.example.com/api/v1/oauth/search-console/callback
https://jak.example.com/api/v1/oauth/google-analytics/callback
Replace the example origin with the address where you actually open Jak. Register only the services you use. The YouTube form currently describes Desktop setup and does not display its hosted callback; use the YouTube path above with your real origin for a Web client.
4. Connect each service
Return to the selected product in Jak’s Tools screen. Follow the YouTube, Search Console, or Google Analytics guide to enter the credentials and choose Continue to Google.
When offered, Use existing Google app reuses OAuth client credentials saved for this product. It still opens Google for the new service’s consent. Enable its APIs and, for a Web client, add its callback first.
YouTube can reuse Search Console’s client; Search Console can reuse YouTube’s. GA4 can reuse an existing Google client from any of these connections. Otherwise paste the same credentials manually.
Troubleshoot authorization
Redirect mismatch: check the scheme, host, port, and callback path. localhost and 127.0.0.1 are different addresses. Hosted callbacks must use your configured Jak origin.
Access blocked: confirm that your account is a test user for a testing app. A Workspace administrator may also need to allow it. Review Google’s app audience settings.
API disabled: enable the specific API in the project that owns this Client ID, then reconnect.
Access expires after a week: external Google apps in Testing can receive refresh tokens that expire after seven days. Reconnect when needed, or review Google’s requirements before changing publishing status. See Google’s token expiration guidance.
No data: OAuth does not grant access to a property or channel your Google account cannot already view. Check account access in the relevant Google product.