How to turn Text Address into Geographic Address

If you have a text address and need to turn it into a geographic address it is quite simple.

You would need to have a data field of type Geographic Address on your Data Type (maybe ‘Retailer’).

If your text address is a complete address all in a single text element it is simple.

Create a workflow to ‘make changes to retailer’ for thing to change ‘do a search for retailer’ (set your constraints to find the retailer you want to convert the address of)

Then in the dialogue window, select the ‘Geographic Address’ make it equal to the ‘text address’

Screen Shot 2020-07-14 at 12.19.14 AM

In the screen shot above the ‘Address-Geographic’ is the name of the data field that is of the type Geographic Address and ‘this retailer’ refers to the searched retailer in the ‘Thing to Change’ section. The ‘Address-Formatted’ is the text version of the complete address (complete includes the street number, street name, city, state, and zip — it can also include suite numbers, building numbers etc.)

The real reason for this post is so I don’t forget what I did for a trickier situation.

What if you don’t have the complete text version of the address as one complete data field and instead you have separate text fields for ‘street address’ ‘city’ ‘state’ and ‘zip’?

In that case you would want to do something like this

The ‘Result of step 1 Converted is empty’ is just some value that I knew would be empty so that I could get a value of ‘yes’ returned…then the formatted as text portion allows you to access the Rich Text Editor so that you can ‘combine’ the separate text address components together.

Notice that between each component I have a comma and a space.

I had to set this up to convert more than 5,000 address to geographic address using a recursive backend workflow.

When I first set it up I had simply used the ‘street address’ component to try and get the value for ‘Geographic Address’…sometimes it works out, but as there are chances that other cities in other states have the same street address, it doesn’t always work out correctly.

Had to scratch my brain a bit to figure how to ‘combine’ the separate text components since the Rich Text Editor is not available in the main dialogue for making changes to data.


Hi @boston85719 , is it still working?

@diegoscarvalho is it not still working?


Not for me
. Well, let me explain. I´m to trying make a delivery app. But in my city, some costumers would have difficulties using the native bubble adress search to find their adresses. Then I was using your Tip to collect the adress field by field. It worked since July, but in the last week didn´t work anymore. I would like to know if your apps using this tip are still working. Thanks in advance.

I don’t know if it is working as I used this to turn a lot of address at once.

My first thoughts about why it might not be working for you now is that Bubble has in the past few months changed policy regarding Google API keys. In the past they allowed hobby apps to not add keys, but now it is required, and the functionality of using geographic addresses requires the google api keys.

That being said, there is a caveat. You can actually still use google api without your own keys on hobby plan if you abide by the rate limiting of 6 a minute.

Have you had any messages from bubble regarding rate limiting?

Do you have your own google api keys added to your app?


Yes, I have my own google api keys added to my app. And never received any error from bubble regarding rate limiting. I don´t have problems to find the adresses. It works, It shows in the map. My problem is collecting the adresses from my costumers.

Like you said: “What if you don’t have the complete text version of the address as one complete data field and instead you have separate text fields for ‘street address’ ‘city’ ‘state’ and ‘zip’?”

It happens in my app. I have separated fields to collect adress data. But recently bubble is not aceppting this “conversion” from text to an andress (geographic adress) anymore using your Rich Text Editor trick. It just save as blank.

Any ideas to solve this?
Thanks in advance, @boston85719.

I just tested, and yes it is working.

In terms of ideas of how to solve it, I am not sure what you might be doing wrong without seeing your set up. Could also be a bug of some kind.

1 Like

May you share your editor link please @boston85719 ?

Take a look what is happening:

Found the solution @boston85719! Thank you so much for your help.

The problem was about key restrictions in my google cloud console. Setting the Key Restrictions to “None” solved it!


Which settings did you change? the Server call or the Client call?

Thanks for posting @boston85719!

Good call on the restrictions tip @diegoscarvalho! For me, I forgot to update the Website Restrictions on the Client to include my custom domain and only had my original Bubble domain ( After I added it (, that did the trick.

1 Like

Hi, if I try to enter the command I have to select “formatted as:” … but I don’t know how it should be formatted, while in your example it just says “formatted” how did you do it?
thank you

My example uses the operator formatted as text:

This operator is available after a dynamic expression that would provide a yes/no value.

I was referring to this screen, on the left is mine, as you can see I gave the same command, but when I start the worflow the address field does not take the value from the formatted as text field

Address-Formatted is the name I gave my data field

Ok sorry, I’ve tried, but appears this: "Error Hitting Google Geocode API: the provide API key is invalid. maybe the text formatted address is written in a way that google doesn’t read.
Do you happen to know anything about it?

You have an invalid Google API Key


Interesting how you write up such a great guide and it also serves the purpose of self-documentation!

I bookmark posts that I know will help. Others and myself of course.

I also keep a link to them, as well as, other non-forum resources on Bubble knowledge.

Any practice in particular that you can share about how you organize yourself to be able to retrieve info like this in a swift manner when you need it? (sorry for the ask … just thought you might not mind since you are very generous sharing lots of gold nuggets in this forum) :+1:t2: