Google reviews to Power BI

A business with twelve sites has twelve reputations, and the group average hides all of them. Reviewflowz publishes an OData feed where Locations is a table of its own, so ranking your sites by rating is one visual in Power BI instead of a spreadsheet somebody rebuilds every month.

  • Set up in under five minutes
  • No demo required
Google reviews 9,412 rows Power BI

Average rating by location

Locations is its own table in the feed, so this is one field on an axis.

Bristol Clifton 4.8
Bath Milsom 4.7
Bristol Harbourside 4.6
Cardiff Castle Street 4.6
Exeter Cathedral 4.5
Bristol Gloucester Road 4.5
Cheltenham Promenade 4.4
Swindon Old Town 4.3
Newport Friars 4.2
Taunton High Street 4.1
Gloucester Quays 3.9
Bristol Cabot Circus 3.6

The group average is 4.4 across twelve sites. The axis starts at 3.0.

They love how easy we've made it

  • 10 000 Slack notifications

    chewy

    Online Pet Supplies Retailer

  • 6000 reviews routed to Zendesk

    qonto

    European Bank

  • Monitoring 12 platforms

    brevo

    Marketing Software Company

  • 100 000 reviews across 97 tours

    arctic

    Tour operator in Iceland

  • 4500 locations monitored

    bounce

    Luggage Storage & Lockers

  • 5000 AI replies generated

    supersushi

    Sushi Restaurant Chain

Power BI has read this format for years

Reviewflowz publishes an OData v4 feed, and Power BI's built-in OData connector reads it. Get data, OData feed, paste the URL, tick the tables. Authenticate with a token you create in Reviewflowz as the user name and a blank password. Six tables arrive, from Reviews and Locations to RatingsHistory and ReviewChanges, and the feed publishes its own metadata, so nobody guesses at a schema.

Get data OData feed Google reviews

Feed URL, one service root per account

https://app.reviewflowz.com/api/odata/v1/accounts/1482/

Basic authentication

User name

bi_••••••••3f2a

Password

left blank

Navigator

  • Reviews 9,412 rows
  • Locations 12 rows
  • ReviewProfiles 12 rows
  • RatingsHistory daily
  • ReviewSummary monthly
  • ReviewChanges change stream

Nothing to install: no download and no Power Query to write. The token is created in Reviewflowz and revoked there.

Location is a table, not a column

In the Reviewflowz feed Locations is its own table: one row per site with name, address, city, country, primary category, latitude and longitude. Drop Location on the axis, average rating on the value, sort descending, and the league table your operations lead built by hand redraws on every refresh. Rating by city, by category or on a map is one field away.

Google reviews 12 locations Model view
Reviews
  • Id Edm.Int64
  • ReviewProfileId Edm.Int64
  • Rating Edm.Double
  • ReviewDate Edm.DateTimeOffset
  • LocationName Edm.String
  • Tags Edm.String
ReviewProfiles
  • Id Edm.Int64
  • LocationId Edm.Int64
  • ProfileName Edm.String
  • Platform Edm.String
  • Url Edm.String
  • Paused Edm.Boolean
ReviewProfiles.LocationId Locations.Id
Locations its own entity set, one row per site
  • Id Edm.Int64
  • Name Edm.String
  • City Edm.String
  • Country Edm.String
  • PrimaryCategory Edm.String
  • Latitude Edm.Double
  • Longitude Edm.Double
  • PostalCode Edm.String

Rating by city, by category, or on a map, with no data-prep step. Reviews carries LocationName too, so the simplest chart needs no join at all.

Try it Free for 14 days

Your review history imports the moment you connect, so there is something to reply to from the first minute.

A rolling average that catches a slipping site

A site can fall from 4.6 to 3.6 on recent reviews while its all-time number drifts from 4.5 to 4.3. A ninety day rolling measure with Location on the legend shows the site pulling away. Set a threshold, pin it to a dashboard tile, and the site that crosses it says so. The reason usually sits in the tags, which Reviewflowz fills in as each review lands.

Google reviews Power BI

90 day rolling average rating by location

Halden Coffee, 12 sites, 9,412 Google reviews all time

Group, all 12 sites 4.4 flat
Bristol Cabot Circus, 90 day rolling 4.6 → 3.6
Bristol Cabot Circus, lifetime 4.5 → 4.3
Bristol Cabot Circus falls from 4.6 to 3.6 on a 90 day rolling average while the group of twelve sites stays flat at 4.4 and the same site’s lifetime average moves only 4.5 to 4.3.
15 Jun13 Jul10 Aug7 Sep

Over the same twelve weeks the rolling average fell a full point, 4.6 to 3.6. The lifetime average moved two tenths, because four years of good reviews outvote three bad months.

Reviewflowz tagged Wait time on 41 of Cabot Circus’s last 60 reviews.

Right on Monday, without anyone touching it

Power BI's scheduled refresh pulls from the feed on your cadence, and incremental refresh works because the review date is a real datetimeoffset. The first load brings each listing's review history. A change stream of inserts, updates and deletes means an edited one-star or a review Google takes down reaches the model as an event, so the report never drifts from the listing.

Google reviews Halden Coffee, twelve sites 9,412 all time
Power BI Scheduled refresh On
06:00 18:00 Twice a day, Europe/London Last refreshed 18:04

Incremental refresh on ReviewDate

Store rows in the last 3 years, refresh rows in the last 10 days.

$filter=ReviewDate ge 2026-08-28T00:00:00Z and ReviewDate le 2026-09-07T00:00:00Z

ReviewChanges

insert Bristol Cabot Circus rv_8841c2 07 Sep 09:14
update Bath Milsom rv_8712af 07 Sep 08:02
delete Gloucester Quays rv_8409de 06 Sep 17:41

A deletion is a row, not a silence. A review its author edits and a review Google takes down both arrive as events, so the report never quietly diverges from the listing.

FAQs

How do Google reviews actually get into Power BI?

Through an OData v4 feed that Reviewflowz publishes. You create a connection in Reviewflowz and copy its feed URL, then in Power BI choose Get data, OData feed, and paste it. Authenticate with the token as the user name and a blank password. Power BI’s navigator lists the tables and you load the ones you want. There is nothing to install: OData is a format Power BI has read for years.

Is location a real dimension, or a text column?

A real one. Locations is its own table in the feed, one row per site, with the name, the address, the city, the country, the primary category and the latitude and longitude. It joins to your reviews through the review profile, so rating by city, by category or on a map is a field on a visual. The review row also carries the location name directly, so the simplest chart needs no join at all.

Which columns arrive?

One row per review with the rating, the review date, the platform, the location name, the reviewer, the language, the tags, the topics and the full text, plus the owner reply and when it was posted. Alongside it sit tables for your locations, your review profiles, your ratings history, a monthly summary and a change stream of inserts, updates and deletes.

Does the report refresh on its own?

Yes. Power BI’s scheduled refresh pulls from the feed on whatever cadence you set, and incremental refresh works as well because the review date is a datetimeoffset the feed can filter on. A review that is edited or taken down arrives through the change stream, so the report does not quietly drift away from what is on the listing.

Does the first load include our Google review history?

Yes. Connecting a Google Business Profile listing loads its review history, so every site has a full trend line from the first refresh rather than one that fills up over the next quarter.

Which plan includes the BI feed?

The BI feed is a Premium feature and it is not part of the free trial, so budget for that rather than discovering it on day three. Everything else works the way the trial suggests: you connect your listings yourself and see your reviews in minutes.

Do I need a demo to get started?

No. You connect your Google Business Profile listings and create the BI connection yourself, in under five minutes. If you get stuck, support is the people who build it.

Stop rebuilding the location league table

Set up in under five minutes. No demo required.