💡 Feature Request
Allow External Google Places Ranking Data in Local Search Grid
It would be very useful if agencies could use their own ranking provider or import externally calculated ranking measurements into the Local Search Grid. We currently measure regional Google Maps visibility using Google Places Text Search (New) with our own Google API key. Each measurement contains: Google Place ID Keyword Measurement-point latitude and longitude Measurement date and time Ranking position Number of returned results Data provider We would like to import these measurements into EMR and use the existing Local Search Grid timeline, reports and client dashboards to track development over time. Ideally, EMR could support one or both of the following options: Allow agencies to select Google Places Text Search as an alternative ranking provider to DataForSEO through BYOK. Add a REST API endpoint for importing external ranking observations, for example: place_id, keyword, latitude, longitude, measured_at, rank, result_depth, and provider. The important requirement is methodological consistency. If the initial analysis uses Google Places ranking data but later tracking uses DataForSEO, the results may not be directly comparable. Supporting external observations would allow agencies to use the same measurement method for the initial baseline and all future development reports. This could also make EMR’s Local Search Grid more flexible for agencies that already operate their own ranking infrastructure while still using EMR for scheduling, historical comparisons, reports and client dashboards.
Gean Occhiuzzi about 7 hours ago
API
💡 Feature Request
Allow External Google Places Ranking Data in Local Search Grid
It would be very useful if agencies could use their own ranking provider or import externally calculated ranking measurements into the Local Search Grid. We currently measure regional Google Maps visibility using Google Places Text Search (New) with our own Google API key. Each measurement contains: Google Place ID Keyword Measurement-point latitude and longitude Measurement date and time Ranking position Number of returned results Data provider We would like to import these measurements into EMR and use the existing Local Search Grid timeline, reports and client dashboards to track development over time. Ideally, EMR could support one or both of the following options: Allow agencies to select Google Places Text Search as an alternative ranking provider to DataForSEO through BYOK. Add a REST API endpoint for importing external ranking observations, for example: place_id, keyword, latitude, longitude, measured_at, rank, result_depth, and provider. The important requirement is methodological consistency. If the initial analysis uses Google Places ranking data but later tracking uses DataForSEO, the results may not be directly comparable. Supporting external observations would allow agencies to use the same measurement method for the initial baseline and all future development reports. This could also make EMR’s Local Search Grid more flexible for agencies that already operate their own ranking infrastructure while still using EMR for scheduling, historical comparisons, reports and client dashboards.
Gean Occhiuzzi about 7 hours ago
API
💡 Feature Request
Review Request Invite Endpoint
We are integrating with the review-request invite endpoint: POST /api/v1/request-reviews/campaigns/{campaign}/invite We need clarification on correlation and read-only reconciliation behavior so that we can safely handle an HTTP response being lost without accidentally creating a duplicate invite. Could you please confirm the following? What exact resource does the id returned in a successful 202 Accepted invite response identify? Is that ID unique and stable for one specific invite/request? If so, what is its uniqueness scope—for example globally, per account, per campaign, or per contact? When the API returns 202 for a contact that is silently ignored because of the campaign deduplication window, what does the returned id represent? When an invite is queued because it falls outside the campaign send window, what does the returned id represent? Is there a supported read-only REST API endpoint that can later retrieve the specific invite/request using that ID? If so, could you provide the method, route, required permissions, and response/status fields? Can that lookup distinguish states such as accepted, queued, processing, sent, failed/rejected, and delivered? Please clarify the exact semantics of any statuses returned. Does the REST invite endpoint support a caller-generated idempotency key, correlation ID, external reference, client request ID, custom metadata value, or similar identifier that EmbedMyReviews persists and can later return or query? We saw X-Correlation-Id documented for the MCP endpoint. Does that header—or any equivalent correlation mechanism—also apply to the REST invite endpoint? If so, is it persisted with the resulting invite and available for later lookup? Critical failure scenario: suppose our system submits one valid invite, EmbedMyReviews receives/processes it, but the HTTP connection fails before we receive the response and therefore we never learn the returned id. Is there any supported authoritative method to locate that exact request later without submitting another invite and without matching heuristically by email, phone, campaign, or timestamp? Are there webhook events for individual review-request invite creation, queueing, sending, failure, or delivery? If so, what stable identifier links those webhook events back to the original invite API request? If an individual invite/status lookup API is not publicly documented, is such a capability available privately, in another API version, or planned? If a lookup returns “not found,” what guarantees—if any—does that provide? In particular, are there retention, indexing-delay, or visibility limitations that would mean “not found” does not prove that the original invite was never accepted? Our objective is read-only reconciliation only. We are specifically trying to avoid duplicate sends after ambiguous network failures, and we will not interpret a missing record or lookup failure as permission to resend. No customer or production-identifying data is needed for this clarification.
Tony Garcia about 13 hours ago
API
💡 Feature Request
Review Request Invite Endpoint
We are integrating with the review-request invite endpoint: POST /api/v1/request-reviews/campaigns/{campaign}/invite We need clarification on correlation and read-only reconciliation behavior so that we can safely handle an HTTP response being lost without accidentally creating a duplicate invite. Could you please confirm the following? What exact resource does the id returned in a successful 202 Accepted invite response identify? Is that ID unique and stable for one specific invite/request? If so, what is its uniqueness scope—for example globally, per account, per campaign, or per contact? When the API returns 202 for a contact that is silently ignored because of the campaign deduplication window, what does the returned id represent? When an invite is queued because it falls outside the campaign send window, what does the returned id represent? Is there a supported read-only REST API endpoint that can later retrieve the specific invite/request using that ID? If so, could you provide the method, route, required permissions, and response/status fields? Can that lookup distinguish states such as accepted, queued, processing, sent, failed/rejected, and delivered? Please clarify the exact semantics of any statuses returned. Does the REST invite endpoint support a caller-generated idempotency key, correlation ID, external reference, client request ID, custom metadata value, or similar identifier that EmbedMyReviews persists and can later return or query? We saw X-Correlation-Id documented for the MCP endpoint. Does that header—or any equivalent correlation mechanism—also apply to the REST invite endpoint? If so, is it persisted with the resulting invite and available for later lookup? Critical failure scenario: suppose our system submits one valid invite, EmbedMyReviews receives/processes it, but the HTTP connection fails before we receive the response and therefore we never learn the returned id. Is there any supported authoritative method to locate that exact request later without submitting another invite and without matching heuristically by email, phone, campaign, or timestamp? Are there webhook events for individual review-request invite creation, queueing, sending, failure, or delivery? If so, what stable identifier links those webhook events back to the original invite API request? If an individual invite/status lookup API is not publicly documented, is such a capability available privately, in another API version, or planned? If a lookup returns “not found,” what guarantees—if any—does that provide? In particular, are there retention, indexing-delay, or visibility limitations that would mean “not found” does not prove that the original invite was never accepted? Our objective is read-only reconciliation only. We are specifically trying to avoid duplicate sends after ambiguous network failures, and we will not interpret a missing record or lookup failure as permission to resend. No customer or production-identifying data is needed for this clarification.
Tony Garcia about 13 hours ago
API
💡 Feature Request
Feature Request: Improve Review Email Alerts with Business Name, Review Source & Star Rating
I’d like to request an update to the review email alerts to make it easier to identify and prioritize reviews without having to open every email. Currently, the email notification mainly shows the reviewer’s name, star rating, and agency name. When managing reviews for multiple businesses, there’s no way to immediately tell from the inbox which business received the review or which review platform it came from. I have to open the email and scroll all the way to the bottom just to find the business name. It would be much more efficient if the email alert displayed: Business Name + Review Source + Star Rating For example: 🔔 5-Star Google Review — El Sarape 🔔 4-Star OpenTable Review — Under The Moon Cafe 🔔 3-Star Expedia Review — Plumsteadville Inn This would allow users to immediately see which business received the review, where the review came from, and the star rating directly from the inbox without opening the email. Additionally, once the email is opened, the business name, review source, and star rating should be displayed prominently at the top of the email, rather than having the business name at the bottom. This would eliminate unnecessary scrolling and make processing a large number of review alerts much faster. For agencies managing reviews across multiple clients, these changes would make the email alerts much more useful and significantly improve efficiency. Here are the two screenshots I am referencing.

Joe C 1 day ago
💡 Feature Request
Feature Request: Improve Review Email Alerts with Business Name, Review Source & Star Rating
I’d like to request an update to the review email alerts to make it easier to identify and prioritize reviews without having to open every email. Currently, the email notification mainly shows the reviewer’s name, star rating, and agency name. When managing reviews for multiple businesses, there’s no way to immediately tell from the inbox which business received the review or which review platform it came from. I have to open the email and scroll all the way to the bottom just to find the business name. It would be much more efficient if the email alert displayed: Business Name + Review Source + Star Rating For example: 🔔 5-Star Google Review — El Sarape 🔔 4-Star OpenTable Review — Under The Moon Cafe 🔔 3-Star Expedia Review — Plumsteadville Inn This would allow users to immediately see which business received the review, where the review came from, and the star rating directly from the inbox without opening the email. Additionally, once the email is opened, the business name, review source, and star rating should be displayed prominently at the top of the email, rather than having the business name at the bottom. This would eliminate unnecessary scrolling and make processing a large number of review alerts much faster. For agencies managing reviews across multiple clients, these changes would make the email alerts much more useful and significantly improve efficiency. Here are the two screenshots I am referencing.

Joe C 1 day ago
💡 Feature Request
Option to Update Saved Design in social share
Currently, users can save a custom design in social share for repeat use. But if they make a small adjustment, and want to update an existing saved design, there is no such option. The only workaround for them is to save with a new name and deleted the old one. Which they might not be able to figure out or think as a beginner. The other issue this limitation creates is with social template blueprints. We have re-sync option with blueprints, but it doesn’t work here cause we can’t update the original blueprint source of social template.
Arun Saini 3 days ago
💡 Feature Request
Option to Update Saved Design in social share
Currently, users can save a custom design in social share for repeat use. But if they make a small adjustment, and want to update an existing saved design, there is no such option. The only workaround for them is to save with a new name and deleted the old one. Which they might not be able to figure out or think as a beginner. The other issue this limitation creates is with social template blueprints. We have re-sync option with blueprints, but it doesn’t work here cause we can’t update the original blueprint source of social template.
Arun Saini 3 days ago
💡 Feature Request
Social Images customization controls
The current social image design tool works great & easy to use for begginers but the design possibilities are quite limited with current control options. The idea is to add a few more low effort controls that increases the design posiblities and improve outcome by a great margin. 1. Custom gradient backgrounds Problem: gradients are fixed presets. A business cannot produce a background in its own brand colours, which is the single most common thing an SMB wants from a template. Today the only path to a brand-coloured background is a flat solid fill. Behaviour: two colour stops with hex input, plus an angle control. Keep the existing presets as a starting row. Implementation: two hex fields and eight fixed angles (0, 45, 90, 135, 180, 225, 270, 315) rather than a free dial, which is easier to build and produces better results from non-designers. Add a "generate from brand colour" button that derives a second stop by lightening the brand colour by roughly 25% and shifting hue 15 to 20 degrees. That button is the plug-and-play path, and most users will never touch the hex fields. 2. Automatic text contrast Problem: with the card removed, review text is a fixed colour. Any user who picks a light background gets an unreadable image. Live bug in the two existing no-card templates. Behaviour: compute relative luminance beneath the text and switch the text stack between light and dark. Applies to review text, author name, rating number, and the Google wordmark together. Implementation: WCAG relative luminance. Sample at the text block's centroid for gradients; after the overlay for photos. Ship automatic with no user-facing control. 3. Background overlay, 0 to 70% darken Problem: photo backgrounds only work behind an opaque card, so the photo is wallpaper. With the card off, text on a raw photo is unreadable on most uploads. Behaviour: one slider applying a black overlay to the background layer only. Implementation: one composited layer between background and content. Default 0% for colour and gradient, 40% when a photo is set. Unlocks: photo backgrounds with the card removed, the layout style that reads as native social content rather than a template. 4. Text alignment, left or centred Problem: every template is left-aligned. Behaviour: one toggle covering review text, author row, and star row as a group. Logo and rating stay in the bar. Implementation: trivial. Flag it in the template preset. Unlocks: a visibly distinct variant of every existing template. 5. Bar treatment, height and style Problem: the bar is a fixed-height strip whose only variable is colour, and it only exists when the card background is on. Behaviour: a height option (compact / standard / tall) and a style option (solid / hairline / none). Allow a bar when the card is off. Implementation: the bar becomes an independent layer rather than a child of the card. Hairline renders a 2px rule in the brand colour with the logo and rating on the background. None floats them directly. Unlocks: the split-block layout via tall, the editorial look via hairline, and a light bar on dark templates.
Arun Saini 3 days ago
💡 Feature Request
Social Images customization controls
The current social image design tool works great & easy to use for begginers but the design possibilities are quite limited with current control options. The idea is to add a few more low effort controls that increases the design posiblities and improve outcome by a great margin. 1. Custom gradient backgrounds Problem: gradients are fixed presets. A business cannot produce a background in its own brand colours, which is the single most common thing an SMB wants from a template. Today the only path to a brand-coloured background is a flat solid fill. Behaviour: two colour stops with hex input, plus an angle control. Keep the existing presets as a starting row. Implementation: two hex fields and eight fixed angles (0, 45, 90, 135, 180, 225, 270, 315) rather than a free dial, which is easier to build and produces better results from non-designers. Add a "generate from brand colour" button that derives a second stop by lightening the brand colour by roughly 25% and shifting hue 15 to 20 degrees. That button is the plug-and-play path, and most users will never touch the hex fields. 2. Automatic text contrast Problem: with the card removed, review text is a fixed colour. Any user who picks a light background gets an unreadable image. Live bug in the two existing no-card templates. Behaviour: compute relative luminance beneath the text and switch the text stack between light and dark. Applies to review text, author name, rating number, and the Google wordmark together. Implementation: WCAG relative luminance. Sample at the text block's centroid for gradients; after the overlay for photos. Ship automatic with no user-facing control. 3. Background overlay, 0 to 70% darken Problem: photo backgrounds only work behind an opaque card, so the photo is wallpaper. With the card off, text on a raw photo is unreadable on most uploads. Behaviour: one slider applying a black overlay to the background layer only. Implementation: one composited layer between background and content. Default 0% for colour and gradient, 40% when a photo is set. Unlocks: photo backgrounds with the card removed, the layout style that reads as native social content rather than a template. 4. Text alignment, left or centred Problem: every template is left-aligned. Behaviour: one toggle covering review text, author row, and star row as a group. Logo and rating stay in the bar. Implementation: trivial. Flag it in the template preset. Unlocks: a visibly distinct variant of every existing template. 5. Bar treatment, height and style Problem: the bar is a fixed-height strip whose only variable is colour, and it only exists when the card background is on. Behaviour: a height option (compact / standard / tall) and a style option (solid / hairline / none). Allow a bar when the card is off. Implementation: the bar becomes an independent layer rather than a child of the card. Hairline renders a 2px rule in the brand colour with the logo and rating on the background. None floats them directly. Unlocks: the split-block layout via tall, the editorial look via hairline, and a light bar on dark templates.
Arun Saini 3 days ago
💡 Feature Request
Add source to https://www.anmeld-haandvaerker.dk
It would be greatly appreciated if you could add the source to https://www.anmeld-haandvaerker.dk/. It’s one of the biggest review sources in Denmark for craftsmen.
Evelina 18 days ago
Review Sources
💡 Feature Request
Add source to https://www.anmeld-haandvaerker.dk
It would be greatly appreciated if you could add the source to https://www.anmeld-haandvaerker.dk/. It’s one of the biggest review sources in Denmark for craftsmen.
Evelina 18 days ago
Review Sources
💡 Feature Request
Rewrite the subject line of AI Insights
Currently, it sounds like something urgent that they have to deal with instantly, instead I think it would be better if the subject line is much softer and aligns with its purpose their regular ai insights report is ready. Current version: “Action Required: Critical insights for organization name“ Even better, if the agencies get the option to set their own subject lines/content, for such report and insight emails.
Arun Saini 24 days ago
💡 Feature Request
Rewrite the subject line of AI Insights
Currently, it sounds like something urgent that they have to deal with instantly, instead I think it would be better if the subject line is much softer and aligns with its purpose their regular ai insights report is ready. Current version: “Action Required: Critical insights for organization name“ Even better, if the agencies get the option to set their own subject lines/content, for such report and insight emails.
Arun Saini 24 days ago
💡 Feature Request
Please Add Quickbooks
Can you guys please add Quickbooks integration so that we can have our customer base from that platform. For US and Canada if it varies… https://quickbooks.intuit.com/
Richard 25 days ago
💡 Feature Request
Please Add Quickbooks
Can you guys please add Quickbooks integration so that we can have our customer base from that platform. For US and Canada if it varies… https://quickbooks.intuit.com/
Richard 25 days ago
💡 Feature Request
jameda.de = znanylekarz.pl
Please add a German equivalent (same company) for Poland. https://www.jameda.de = https://znanylekarz.pl They differ only in name
Paweł about 1 month ago
Review Sources
📥 Feedback
jameda.de = znanylekarz.pl
Please add a German equivalent (same company) for Poland. https://www.jameda.de = https://znanylekarz.pl They differ only in name
Paweł about 1 month ago
Review Sources
📥 Feedback
Wrong Booking.com page url (carries agency domain)
After booking.com connected, the external link to the booking.com page, was wrongly configured and carries the agency domain in the domain part.
Arun Saini about 1 month ago
🐛 Bug Reports
Wrong Booking.com page url (carries agency domain)
After booking.com connected, the external link to the booking.com page, was wrongly configured and carries the agency domain in the domain part.
Arun Saini about 1 month ago
🐛 Bug Reports
Private mode only for regulated professions
For regulated professions that are not permitted to collect customer reviews for public display, would it be possible to offer them a secure, private collection method that prevents publication, so as not to be considered an illegal solution? This would allow them to collect reviews to improve their service. And responding to unsolicited reviews is not prohibited by law. Responding to reviews helps show Google that the GBP is active, and the keywords used contribute to local SEO.
Romaric about 1 month ago
💡 Feature Request
Private mode only for regulated professions
For regulated professions that are not permitted to collect customer reviews for public display, would it be possible to offer them a secure, private collection method that prevents publication, so as not to be considered an illegal solution? This would allow them to collect reviews to improve their service. And responding to unsolicited reviews is not prohibited by law. Responding to reviews helps show Google that the GBP is active, and the keywords used contribute to local SEO.
Romaric about 1 month ago
💡 Feature Request
Vocal reviews
It would be great if we could get vocal reviews for private feedback analysis only. This method is very quick and convenient, and it allows us to gather more information from customers.
Romaric about 1 month ago
💡 Feature Request
Vocal reviews
It would be great if we could get vocal reviews for private feedback analysis only. This method is very quick and convenient, and it allows us to gather more information from customers.
Romaric about 1 month ago
💡 Feature Request
Ability to Customize All System Emails
Right now, we can customize the following transactional email templates: trial expiring, welcome, and subscription ended. We would love to see the other system notification emails added to the customizable template section.

Lynn Floyd about 1 month ago
💡 Feature Request
Ability to Customize All System Emails
Right now, we can customize the following transactional email templates: trial expiring, welcome, and subscription ended. We would love to see the other system notification emails added to the customizable template section.

Lynn Floyd about 1 month ago
💡 Feature Request
"Mention score over time" chart renders empty in AI Search view
In the AI Search option, the "Mention score over time" section (subtitle: "Track your AI presence week over week") displays no content. The card header and subtitle render correctly, but the chart/data area below is blank — no graph, data points, or empty-state message.

Jean-Gabriel about 1 month ago
General
🐛 Bug Reports
"Mention score over time" chart renders empty in AI Search view
In the AI Search option, the "Mention score over time" section (subtitle: "Track your AI presence week over week") displays no content. The card header and subtitle render correctly, but the chart/data area below is blank — no graph, data points, or empty-state message.

Jean-Gabriel about 1 month ago
General
🐛 Bug Reports
Unnecessary character appears in a AI-generated reviews
When consumers generate reviews using AI-Review Assistant, an extra character “ . “ (a period mark) is always added at the end of the review content. This issue has been raised by several clients, which is quite an annoying issue.
Kevin Huang about 1 month ago
🐛 Bug Reports
Unnecessary character appears in a AI-generated reviews
When consumers generate reviews using AI-Review Assistant, an extra character “ . “ (a period mark) is always added at the end of the review content. This issue has been raised by several clients, which is quite an annoying issue.
Kevin Huang about 1 month ago
🐛 Bug Reports
🇫🇷 Request for French agencies
I noticed a translation trouble in the customer sidebar. "récolte" is an agricultural word. So it is really weird to read this. It sounds bad translation. So would you mind to say yes in order to replace "récolte" by "collecte". It is more accurate. Moreover, the initial name of the section in the English version is 'Review tools', so a more accurate translation would be 'Collecte d’avis'.
Romaric about 2 months ago
General
💡 Feature Request
🇫🇷 Request for French agencies
I noticed a translation trouble in the customer sidebar. "récolte" is an agricultural word. So it is really weird to read this. It sounds bad translation. So would you mind to say yes in order to replace "récolte" by "collecte". It is more accurate. Moreover, the initial name of the section in the English version is 'Review tools', so a more accurate translation would be 'Collecte d’avis'.
Romaric about 2 months ago
General
💡 Feature Request
Search AI report & missing categories (GBP)
Hello, could you please add the main categories as provided by Google in GBP? I would like to create a Search AI report for a prospective pharmacy client, but I cannot select this category because it doesn't exist in the list.
Romaric about 2 months ago
General
💡 Feature Request
Search AI report & missing categories (GBP)
Hello, could you please add the main categories as provided by Google in GBP? I would like to create a Search AI report for a prospective pharmacy client, but I cannot select this category because it doesn't exist in the list.
Romaric about 2 months ago
General
💡 Feature Request
Way to sort or filter campaigns by active/paused
Way to sort or filter campaigns by active/paused in the campaigns section.

Nalu Okimoto about 2 months ago
💡 Feature Request
Way to sort or filter campaigns by active/paused
Way to sort or filter campaigns by active/paused in the campaigns section.

Nalu Okimoto about 2 months ago
💡 Feature Request