Browse documentation

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

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.readonly and yt-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.