-
Notifications
You must be signed in to change notification settings - Fork 5.5k
Google Ads Generate Keyword Ideas #18977
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
WalkthroughAdds a new Google Ads "Generate Keyword Ideas" action and app client method, updates package version, and increments version metadata on several existing actions and sources. No other behavioral changes detected. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Action as Generate Keyword Ideas Action
participant App as Google Ads App Client
participant API as Google Ads API
User->>Action: invoke action (accountId, customerClientId, additionalFields)
Action->>Action: parse additionalFields
Action->>App: generateKeywordIdeas({ customerClientId, data })
App->>API: POST /v22/customers/{customerClientId}:generateKeywordIdeas
API-->>App: response (keyword ideas)
App-->>Action: return response
Action->>User: export summary and return API response
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Pre-merge checks and finishing touches✅ Passed checks (5 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (9)
components/google_ads/actions/add-contact-to-list-by-email/add-contact-to-list-by-email.mjs(1 hunks)components/google_ads/actions/create-customer-list/create-customer-list.mjs(1 hunks)components/google_ads/actions/create-report/create-report.mjs(1 hunks)components/google_ads/actions/generate-keyword-ideas/generate-keyword-ideas.mjs(1 hunks)components/google_ads/actions/send-offline-conversion/send-offline-conversion.mjs(1 hunks)components/google_ads/google_ads.app.mjs(1 hunks)components/google_ads/package.json(1 hunks)components/google_ads/sources/new-campaign-created/new-campaign-created.mjs(1 hunks)components/google_ads/sources/new-lead-form-entry/new-lead-form-entry.mjs(1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-10-20T01:01:02.970Z
Learnt from: js07
Repo: PipedreamHQ/pipedream PR: 18744
File: components/slack_v2/actions/send-large-message/send-large-message.mjs:49-64
Timestamp: 2025-10-20T01:01:02.970Z
Learning: In components/slack_v2/actions/send-large-message/send-large-message.mjs, the metadata_event_payload prop is typed as string, so the code only needs to handle string-to-JSON parsing and does not need to handle object inputs.
Applied to files:
components/google_ads/actions/send-offline-conversion/send-offline-conversion.mjs
🧬 Code graph analysis (1)
components/google_ads/actions/generate-keyword-ideas/generate-keyword-ideas.mjs (1)
components/google_ads/google_ads.app.mjs (8)
response(20-23)response(39-39)response(55-58)response(78-81)response(123-130)response(134-136)response(153-157)response(218-222)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Publish TypeScript components
- GitHub Check: Verify TypeScript components
- GitHub Check: Lint Code Base
🔇 Additional comments (14)
components/google_ads/actions/create-report/create-report.mjs (1)
22-22: LGTM - Routine version bump.The patch version increment is appropriate as there are no functional changes to this module.
components/google_ads/package.json (1)
3-3: LGTM - Appropriate minor version bump.The minor version increment from 0.3.3 to 0.4.0 is appropriate for adding new functionality (Generate Keyword Ideas feature) while maintaining backward compatibility.
components/google_ads/actions/send-offline-conversion/send-offline-conversion.mjs (1)
11-11: LGTM - Routine version bump.The patch version increment is appropriate as there are no functional changes to this module.
components/google_ads/actions/create-customer-list/create-customer-list.mjs (1)
18-18: LGTM - Routine version bump.The patch version increment is appropriate as there are no functional changes to this module.
components/google_ads/sources/new-campaign-created/new-campaign-created.mjs (1)
10-10: LGTM - Routine version bump.The patch version increment is appropriate as there are no functional changes to this module.
components/google_ads/sources/new-lead-form-entry/new-lead-form-entry.mjs (1)
11-11: LGTM - Routine version bump.The patch version increment is appropriate as there are no functional changes to this module.
components/google_ads/actions/add-contact-to-list-by-email/add-contact-to-list-by-email.mjs (1)
10-10: LGTM - Routine version bump.The patch version increment is appropriate as there are no functional changes to this module.
components/google_ads/google_ads.app.mjs (2)
250-256: File exists—review comment concern is unfounded.The action file
components/google_ads/actions/generate-keyword-ideas/generate-keyword-ideas.mjsalready exists in the repository at the expected location. The generateKeywordIdeas method implementation follows the established pattern correctly. No action required.Likely an incorrect or invalid review comment.
250-256: Verify if v22 is intentional for GenerateKeywordIdeas—the endpoint is available in v21.GenerateKeywordIdeas is available in both v21 and v22 API versions, so the v22 path used here breaks consistency with the v21 endpoints used throughout the rest of the file. Please confirm whether this is intentional or should be updated to v21 for consistency.
components/google_ads/actions/generate-keyword-ideas/generate-keyword-ideas.mjs (5)
8-18: LGTM!The action metadata is correctly configured for a read-only keyword research operation. The annotations appropriately indicate this is a non-destructive, read-only action.
19-22: LGTM!The props structure follows the established pattern in the codebase by using shared common props and dynamically generated additional fields.
33-34: LGTM!The success message and response handling are appropriate for this action.
6-6: No issues found—API version is correct.The v22 API reference in the docLink is intentional. The
generateKeywordIdeasmethod ingoogle_ads.app.mjsuses the v22 endpoint (/v22/customers/{customerClientId}:generateKeywordIdeas), while all other methods use v21. This version difference appears deliberate, suggesting this endpoint is a newer feature only available in v22.
25-32: Method verification complete — no issues found.The
generateKeywordIdeasmethod is properly implemented incomponents/google_ads/google_ads.app.mjsat line 250. It correctly passes all parameters through_makeRequest, which properly handles path substitution, header construction, and axios invocation. The method signature and parameter chain align correctly with the action's call site.
components/google_ads/actions/generate-keyword-ideas/generate-keyword-ideas.mjs
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
components/google_ads/actions/generate-keyword-ideas/generate-keyword-ideas.mjs(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Verify TypeScript components
- GitHub Check: Publish TypeScript components
- GitHub Check: Lint Code Base
🔇 Additional comments (4)
components/google_ads/actions/generate-keyword-ideas/generate-keyword-ideas.mjs (4)
1-6: LGTM!The imports and documentation link are correctly configured for this action.
8-18: LGTM!The action metadata and annotations are correctly configured. The
readOnlyHint: trueanddestructiveHint: falseaccurately reflect that this is a read-only operation for generating keyword ideas.
24-24: Note: Double parsing previously flagged.The double parsing pattern on this line was already addressed in a previous review comment. Please refer to that comment for guidance on simplifying this if both parsing steps are not necessary.
33-34: LGTM!The success message is clear and the response return is appropriate.
components/google_ads/actions/generate-keyword-ideas/generate-keyword-ideas.mjs
Show resolved
Hide resolved
components/google_ads/actions/generate-keyword-ideas/generate-keyword-ideas.mjs
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Resolves #18961
Summary by CodeRabbit
New Features
Chores