How I Saved 300+ Hours Automating Data Enrichment For My Directory

4.4K views February 20, 2025

Data enrichment is the glue that keeps visitors coming back to your website directory. It's also your main differentiation method from Google Maps. In this video, I share how to 1) Approach your data enrichment 2) Automate the enrichment process based on google reviews and 3) Automate the creation of high quality listing descriptions for your listing pages.

SYD Community: https://ship-your-directory.circle.so/
SYD Newsletter: https://shipyourdirectory.kit.com
Follow me on 𝕏 @freychu

Tools
Outscraper: https://outscraper.com/refer?referrer=ZTNhNTY1MmUzNDk4NDEzMjg3YjllYmE5MmU1ZmFkZTI=referrer=ZTNhNTY1MmUzNDk4NDEzMjg3YjllYmE5MmU1ZmFkZTI=

Google Maps Review Enrichment: https://www.enrich.directory/

GPT for sheets: https://workspace.google.com/marketplace/app/gpt_for_sheets_and_docs/677318054654

Timestamps
00:33 What is data enrichment? What role does it play?
01:40 Examples of data enrichment
02:44 Join the free SYD community
03:08 Manual way to enrich data
03:35 I made a data enrichment automation tool!
03:44 3 ways to approach your data enrichment
05:05 Step-by-step demo of enrich.directory & how to automate data enrichment
06:55 Results of data enrichment tool
07:45 Automating high quality listing descriptions
08:37 Using GPT for sheets for google sheets
09:31 My Claude prompt
10:02 Listing description results
10:35 Comparing AI generated text (gemini vs. gpt4o vs Claude sonnet 3.5)

0:00 so if you've created a directory before
0:01 you know that data enrichment and data
0:03 cleaning is the most boring part it's
0:06 easily the part where I dread the most
0:09 and I've actually stopped projects
0:11 Midway because I didn't have any other
0:13 way to enrich data faster at least until
0:16 now and I have a lot of half-baked
0:19 directory websites that are in amazing
0:21 niches that uh I I just stopped because
0:24 I just couldn't take it anymore so in
0:25 this video I'm going to talk about how
0:26 to automate the enrichment process now I
0:29 am going to use a location-based Niche
0:31 I'm going to be using dog parks as an
0:32 example today so what is data enrichment
0:35 and what role does it play when it comes
0:36 to creating a profitable directory well
0:38 I would say there's two main things on
0:41 your directory listing you want it to be
0:43 more valuable than the information you
0:44 can find on Google Maps right otherwise
0:47 people would just go to Google Maps and
0:48 the second thing is that it's going to
0:50 have a role when it comes to SEO because
0:53 having unique and tailored listing
0:54 descriptions for every single one of
0:56 your listing Pages it's going to be
0:58 really important it's going to allow you
0:59 to rank for more keywords it's also
1:01 going to provide value to the person
1:03 visiting your website and checking out a
1:05 specific listing if people are staying
1:07 on your website clicking around they're
1:08 engaged and they keep coming back those
1:10 are good signs that are going to tell
1:13 Google to boost your website up in the
1:15 rankings those user metrics are huge
1:17 nowadays with all this AI spam most
1:19 times people create AI generated
1:21 descriptions and they're not very
1:22 tailored to the actual listing it
1:25 doesn't provide much value but I'm going
1:26 to show you how to create a very very
1:28 high quality and tailored description
1:31 but before that I am going to be showing
1:33 you how to enrich your data first now
1:36 your data enrichment will look very
1:37 different based on what Niche you choose
1:39 for your directory but just thinking off
1:41 the top of my head let's say that you
1:42 were creating a directory on your local
1:45 game store and you wanted to create a
1:47 nationwide directory on all the lgs's
1:49 the local game stores in the country
1:52 then maybe you would want to know if one
1:54 specific game store sells you know
1:57 Pokemon cards or Magic the Gathering
1:58 cards and whatever else people might be
2:00 interested in knowing before going to an
2:03 LGS whereas if you have a plumber
2:05 directory for example you're probably
2:07 interested in if they offer 24-hour
2:09 emergency plumbing what types of
2:11 services they even provide maybe some
2:13 pricing details and how quick their
2:14 service is at least this gives you an
2:16 idea of different types of data
2:18 enrichment when you go on a listing on
2:19 Google Maps or even go to chat gbt or
2:22 another llm and ask for information
2:25 about local areas it's not going to by
2:27 default tell you all of these enrichment
2:29 features you're going to have to dig
2:30 around a little bit and that is the
2:32 exact problem we're trying to solve just
2:34 wanted to give you a couple examples
2:35 before we dive in I think we can jump on
2:38 in now and uh hopefully this will save
2:40 you a bunch of time before I forget
2:41 please join the ship your directory free
2:44 community it is and getting spicy in
2:47 there and by spicy I mean educational
2:49 all right professional that's what I'm
2:51 saying tons of free resources but most
2:53 importantly really cool people in there
2:54 that you can learn from I'm also the
2:56 most active in there I'm in there every
2:57 day so if you have any questions chances
2:59 are I'll probably see it in there I'll
3:01 leave a link in the description and we
3:03 can continue on here now this is how I
3:05 used to enrich data I would go to
3:07 reviews and I would click on search
3:09 review and I would type in you know
3:10 shade for example I would try to read
3:12 the reviews to understand how much shade
3:14 and if there was shade at a dog park and
3:17 that's the process I would repeat
3:19 anytime I needed information on a
3:21 specific location so it's obviously very
3:23 manual when it comes to creating a
3:25 nationwide directory we can't be doing
3:27 this for every single dog park in
3:29 America that would be absolutely mad but
3:31 that is why I worked with a fellow
3:33 viewer named Min shout out to Min to
3:35 create this and it's essentially a way
3:38 to automate exactly what I just showed
3:40 you so the process goes like this I
3:42 scraped this data off out scraper every
3:44 single doc bark in the United States I'm
3:46 not going to go into it in too much
3:48 depth but you essentially need to clean
3:50 your data once you scrape it now it
3:51 comes to enriching the data and when it
3:53 comes to enriching I always use Google
3:56 Maps as a reference to understand what
3:59 people want to know and I look at the
4:01 review tags and this is one example here
4:04 where we can see that shade is a popular
4:07 feature that people expect to see at
4:09 their dog parks people want to know if
4:10 there's parking you know water bowls so
4:13 using these Google Tags we can uncover a
4:15 lot of the common patterns the common
4:17 features that people want in a dog park
4:19 now another way you can figure out what
4:21 is important in terms of data enrichment
4:23 is you can use HS and you can search up
4:25 your keyword and chances are it's worth
4:27 adding as an enrichment feature if you
4:29 see see that there's a lot of volume so
4:31 offleash dog parks is one indoor dog
4:33 parks right over here and lastly you can
4:35 use Reddit you know that's a great free
4:37 resource if you just want to stick to
4:38 Google Maps and Reddit start reading
4:40 forums and different posts to understand
4:42 what is most valuable when people make
4:45 their decisions on different places and
4:47 locations they go to that's a great
4:49 option now since I am working on a full
4:51 buildout video for dog parks I might as
4:54 well show you all the different
4:55 enrichment features that I found there
4:57 are shade bags water indoor outdoor off
4:59 Le bench trash cans the list goes on so
5:02 how it works is pretty straightforward
5:03 you start by uploading your CSV file but
5:05 before you actually upload your CSV file
5:08 you definitely need the Google Maps URL
5:11 or the location link so real quick what
5:13 I mean is you know this is outs scraper
5:15 and if we scroll down to the bottom in
5:17 parameters we can scroll all the way
5:19 down to location link now this location
5:23 link is essentially the Google Maps URL
5:25 so you definitely need it in order for
5:27 this to work so this is my scrape data
5:29 from outs scrape and as you can see here
5:31 is my URL and if I just click on the
5:33 first one here that is the URL that we
5:36 took once you have your location link
5:38 you can go ahead and upload your file so
5:40 for example this is a sample CSV of 300
5:44 dog parks here the next thing I'm going
5:46 to do is add a column here so these
5:47 columns are for all those different
5:50 enrichment features or enrichment
5:51 attributes that you found through Google
5:53 Maps so one was called shade and I'm
5:55 just going to put that on the very top
5:57 that just describes the column name here
5:59 it's going to going to create a new
6:00 column the keywords option is shade as
6:03 well because what I'm saying here is I
6:05 want to crawl every single review that
6:07 contains the word shade and for the
6:09 prompt I'm going to say does this dog
6:12 park have shade so that's an example of
6:15 one of the enrichment attributes I could
6:16 go ahead and add more if I want to but
6:19 this is pretty manual so we did
6:20 something cool where we could upload
6:22 your enrichment attributes instead
6:24 because in my case I have a lot of them
6:26 so I could just click on a file right
6:29 here and I prepared a small little data
6:31 sheet here that includes all of the
6:33 things that I want to enrich I'm going
6:35 to go ahead and just upload that and
6:36 here we can see that it automatically
6:38 populated with all of my enrichment
6:40 attributes and keywords now chances are
6:42 you probably have a lot less in terms of
6:44 enrichment columns but it depends how
6:47 deep you want to go and how much value
6:48 you're trying to provide right let's go
6:50 ahead and just click enrich data we have
6:53 completed our enrichment if we scroll to
6:55 the very right so here you can see that
6:57 there are three columns that were
6:59 generating
7:00 for every single one of these columns
7:02 here so the First Column is just showing
7:04 you the exact review that mentions the
7:07 word shade and the second column is the
7:10 explanation so whether or not there is
7:12 or isn't it should mention it here and
7:13 then the last column is just a true or
7:15 false we confirmed whether or not there
7:17 was shade water benches a fenced in area
7:20 an off leash area all within minutes so
7:22 this is a huge timesaver the view is a
7:25 little bit tough on this screen so I
7:27 always recommend just downloading the Cs
7:29 V I know it's a lot but this is
7:31 essentially the Excel sheet that I
7:33 downloaded and here we can see all of
7:35 these enrichment columns here and if it
7:38 doesn't have enough information it will
7:39 say not enough information so at this
7:41 point I have the enriched data that I
7:43 went ahead and used through our tool but
7:45 now I want to write a few sentence
7:47 description that's going to go on every
7:49 single one of these listings so I'm
7:51 going to show you how I generate the
7:53 highest quality descriptions and I think
7:56 they sound and look amazing I'm going to
7:58 go ahead and create a column to the
7:59 right here there's probably a lot of
8:01 different ways to use different llms
8:03 maybe you prefer gemini or clo or Claude
8:06 or chachy BT what matters in my
8:09 experience is the prompting right out of
8:11 the box I will say clo has it good you
8:13 know I have been using clo a lot so the
8:15 reason why I enriched the data first was
8:17 because I actually want to write the
8:18 description and have it inspired by the
8:21 actual reviewers and so that way I'm not
8:23 copying the reviews I'm not plagiarizing
8:26 taking something that is not mine all of
8:29 these
8:30 reviews offer a lot of great context
8:33 right so I work off Google Sheets so
8:35 I've been using this tool called GPT for
8:37 sheets and I really like it you know
8:39 it's worked out really well for me so
8:41 the way it works is I can basically just
8:43 create a custom prompt and in my prompt
8:45 I can reference different cells so here
8:47 I can put in my prompt but I actually
8:48 created a prompt already and this is the
8:51 prompt that I created it's to write a
8:53 three sentence description based on
8:55 these cells and SV y a b AE these are
8:59 all different cells for this review
9:02 column that's why you see you know at
9:04 the very end there's column bi which is
9:07 the space review enrichment column but
9:09 essentially this is how I'm directing
9:11 this prompt towards the reviews and I
9:14 also mentioned that I want the name of
9:16 the dog park which is column A which we
9:18 can see here as well as the city which
9:21 is column F and then the state which is
9:24 column H I want all of those referenced
9:27 in my description feel free to pause the
9:29 video and steal this prompt if you end
9:31 up using this tool but in my prompt I do
9:33 say to ignore the rating uh don't
9:35 mention any names or reviewers don't
9:37 plagiarize directly from the review use
9:39 unique words and just try to give a
9:42 neutral description of the dog park
9:43 based on the reviews I've actually
9:45 tested all of the different llms for
9:47 this tool and this by far does the best
9:51 job and I'll show you a couple
9:52 comparisons in a second but if we just
9:54 run this here um we can see that it'll
9:57 create three different rows and there we
10:00 go so this is the description that it
10:02 created for Coronado dog beach you can
10:05 pause and read it now I did buy a good
10:07 amount for this test because I wanted to
10:09 run multiple experiments and I will say
10:11 Claude is the most expensive by far it's
10:14 probably well known to you at this point
10:16 if you are someone who experiments and
10:18 plays with a lot of these different llms
10:20 but for those who are uninitiated yes
10:22 Claude is definitely the most expensive
10:24 but also it's so much better in terms of
10:27 just the semantic feel and tone of their
10:29 writing it's it's so much better for
10:31 quick comparison I did run the same
10:33 exact prompt for the same exact row with
10:36 the same exact enrichment but I just
10:37 changed the model and here we can see
10:39 that Gemini gave us this so Coronado
10:42 Beach is a popular dog spot for dog
10:44 owners and the beach is known for soft
10:46 sand gentle waves and a friendly
10:48 atmosphere so this one wasn't bad to be
10:50 fair it's not amazing but it's not bad
10:52 this is another description generated
10:54 from Gemini and I really didn't like how
10:56 it still mentioned some reviewers
10:58 mentioned like I didn't want that to be
11:00 a thing and it seemed to not listen to
11:02 me very nicely but overall it just
11:04 sounds very mediocre and I'm not really
11:06 convinced from reading it that it sounds
11:09 like the opinion of someone who went to
11:12 that exact dog park cuz that's what it
11:14 should sound like right so looking at
11:15 chat gbt 40 we have this again um you
11:20 know it mentions visitors appreciate the
11:22 clean sand now again that's not too bad
11:24 but when we look at a second example it
11:26 kind of starts to use similar language
11:28 it also use similar adjectives to
11:30 describe things and overall it just ends
11:32 up really quickly sounding the same and
11:34 over the course of 5,000 different
11:36 listing descriptions I really don't want
11:39 to have similar adjectives or the same
11:42 of anything I need it to be sounding
11:44 very very different we're all getting
11:45 sharper when it comes to detecting like
11:47 AI sounding text and sometimes it's good
11:50 sometimes it's bad in this case I feel
11:52 like it's somewhat obvious and it's not
11:54 amazing with Claude we have just a
11:56 richer vocabulary we have much different
11:59 cadences and sentence lengths right they
12:02 they really vary it up obviously this is
12:04 a small sample size I only did a couple
12:06 but there were some pretty bad results
12:08 with Gemini where they didn't even read
12:10 it like this was a message that I got
12:12 please provide the data for celles shade
12:14 reviews this is chat gbt 40 sure please
12:17 provide the specific details whereas
12:19 Claude just went ahead and did its thing
12:21 never had to worry once about the
12:23 quality of Claude I'm not even working
12:25 for them so I don't know why I'm talking
12:26 them up so much but the product is great
12:28 and I'm really happy with it it does
12:30 come at a price because it's the premium
12:31 option but um in my opinion it could be
12:34 worth it however I will say with better
12:35 prompting you know I could probably
12:37 spend more time just crafting an amazing
12:39 prompt and then just using Gemini and it
12:41 would be super cheap but for this
12:43 project I am against time because I am
12:45 trying to do a full buildout video where
12:48 I build the entirety of dog parks so I
12:50 decided to just buy it but you could
12:52 probably get away with using Gemini and
12:54 just prompting it much much better so
12:56 that is how you can do a really high
12:58 quality quality job enriching your data
13:01 and not have to spend literally days and
13:03 days to clean and enrich a massive data
13:06 set like this dog park one for example I
13:09 hope this is valuable to you because
13:11 that's why we made it uh it's really
13:14 valuable to me and at the end of the day
13:16 it's one of those things where it is a
13:17 scratch your own itch situation I am
13:19 going to use this tool to pump out a lot
13:21 more directory websites so let me know
13:23 what you think I'm curious to know if
13:25 any of you have a different process
13:27 whether it is with the data enrichment
13:29 or the actual listing description
13:31 automation uh I know there's a lot of
13:33 different approaches out there we all
13:34 seem to be kind of doing our own thing
13:36 here so let me know I will leave links
13:39 to all of these tools in the description
13:41 and you can go ahead and use it to save
13:44 some time and that's the whole goal but
13:46 as always let me know if you have any
13:47 questions around this tool and let me
13:49 know if you have any errors our
13:51 enrichment tool is in its infancy like
13:53 we just launched this to the public we
13:55 do expect there to be some challenges
13:57 and hurdles but we're ready to make it
13:59 right just let us know if you had any
14:00 issues and if you didn't also let us
14:03 know don't forget to join the free
14:05 shipper directory community that is the
14:08 place where it's popping but uh if you
14:11 haven't already joined then I hope to
14:13 see you there if you have please keep me
14:15 posted on your progress and your
14:17 directory builds with that guys I'll
14:19 catch you guys in the next video and
14:21 hope you have a great day see you