Jump to content

where to start with CUSTOMER TRACKING


phppup

Recommended Posts

I am in the beginning statges of (trying to develop) a customer tracking database and would appreciate guidance and direction.

I want to be able to gather data on people that visit a specific retail business.

This is something that I think I can establish initially.

But I want to be able to cumulatively record additional visits and count them.

More importantly, is that the business does not want to burden customers with a 'unique identifier.'

So on a third visit, I want to be able to input the persons name and add to the cumulative visit count (and maybe tally the sale amount).

However, by the third visit, there may be more than one Bob Smith from Anytown. 

Please provide any coding help or direction that would help me with a dialogue box asking "Do you mean Bob Smith with this address/phone number? 

Or peerhaps list all the Bob Smiths from Anytown so that the correct one could be selected and the information could be attached to the corresponding customer's account.

 

 

Link to comment
Share on other sites

More importantly, is that the business does not want to burden customers with a 'unique identifier.'

Customers must have a unique identifier because people do not already have one. Names are not unique. Addresses are not unique. Phone numbers are not unique. If you don't want to give people identifiers then you cannot expect to treat everyone uniquely.

 

Either you forget that requirement or you understand that sometimes two people will share the same information and you might not even know that's happening. The best part is that if you go for the latter, which I expect, then you'll be creating a unique identifier for a person - it's just that the identifier is not unique to one human being.

 

So you have to decide what you want to use for an identity. Name is obviously not enough. Addresses are annoying. Name and phone number combined generally works well.

Link to comment
Share on other sites

Perhaps I should rephrase.

Yes, I understand and agree with your point about 'unique identifiers' from within the database.

But the retail store does not want to explain to Bob Smith #1 that he has customer number 104 while Bob Smith #2 has customer number 644.

(This may be true inside the database, but the business wants to maintain a more 'personal' interaction.)

What I am interested in developing is as follows (unless there are better ideas):

Employee sells an item to Kathy Dougle.  Since she is the ONLY customer name Kathy Dougle the employee is prompted to input the sale amount.  The database now has recorded that Kathy spend $$$ on this date during this one visit.

When Bob Smith makes a purchase and the employee does a search for Bob Smith, a prompt or dialogue box indicates "There are several customers with this name.  Which Bob Smith do you want?" 

Bob Smith at 12 Main Street with tele. number 123-4567 or Bob Smith at 9 Lake Drive with tele number 456-7890

or Bob Smith at 44 Turnip Drive with tele number 878-0000.

In this manner, the employee can ask the customer for additional identifying information and select the appropriate record and proceed to update it.

I hope this clarifies my intent, and appreciate the help.

Link to comment
Share on other sites

But the retail store does not want to explain to Bob Smith #1 that he has customer number 104 while Bob Smith #2 has customer number 644.

They don't have to do that. In fact your application never has to expose the identifier to the business at all.

 

Employee sells an item to Kathy Dougle.  Since she is the ONLY customer name Kathy Dougle the employee is prompted to input the sale amount.  The database now has recorded that Kathy spend $$$ on this date during this one visit.

When Bob Smith makes a purchase and the employee does a search for Bob Smith, a prompt or dialogue box indicates "There are several customers with this name.  Which Bob Smith do you want?" 

Bob Smith at 12 Main Street with tele. number 123-4567 or Bob Smith at 9 Lake Drive with tele number 456-7890

or Bob Smith at 44 Turnip Drive with tele number 878-0000.

In this manner, the employee can ask the customer for additional identifying information and select the appropriate record and proceed to update it.

I hope this clarifies my intent, and appreciate the help.

But how does the employee know that the Kathy Dougle making the purchase is the existing Kathy or a new Kathy? They have to ask for address and/or phone number every time.

 

There's no nice way to make this happen without giving the customer a clue that they're being tracked. I mean, if I go to a store and make a purchase, they don't ask for my identifying information. If they did then I would decline because it doesn't matter. So instead what businesses do is set up loyalty programs or whatever similar, then the customer can provide a phone number (generally unique enough to matter): the customer gets a discount in exchange for knowing in the back of their mind that the business can now track purchases and spending habits.

Link to comment
Share on other sites

Agreed and understood.

Now I need to bring up a dialog box (or some other recommended tool) that will allow the employee to select (via radio button, checkbox, or suggested method) the Bob or Kathy that has the address and/or phone number that corresponds with the information provided by the customer so that the correct record is updated.

This is the step that has me unsure.

Link to comment
Share on other sites

It sounds straightforward to me: the employee enters some information, the page does a database search for matching records, then displays the results back to the employee. Those results include a radio button or even just a regular button* for them to pick what they want.

 

So the parts you need to do are

1. The form to enter the initial information

2. The PHP code that does the search

3. The form which shows the results of the search

 

* A checkbox is for selecting multiple options. You don't want multiple options.

Link to comment
Share on other sites

Yes, step three is where i am unsure, as the new form needs to be created from output but used for input.

And the radio button needs to be properly associated.

Can you give me an example of what the code should look like, so that I have a starting point?

Link to comment
Share on other sites

Not... really? The fact that output is driving an input form is irrelevant - HTML is HTML, regardless of whether you used a database query to decide what to do with it or not.

 

Can you make a mockup of that second form? With the full HTML and example data? With that ready you add in the database searching part and use the results for the form data.

Link to comment
Share on other sites

I spent 3 days explaining a post that I thought was fairly clear and said: 

Please provide any coding help or direction that would help me with a dialogue box asking "Do you mean Bob Smith with this address/phone number?"

Or perhaps list all the Bob Smiths from Anytown so that the correct one could be selected and the information could be attached to the corresponding customer's account.

 

And you expect me to be able to develop it now because..... ?

 

Maybe we should see if anyone else has some input.

Link to comment
Share on other sites

I'm not sure I understand. Are you asking for someone to write code? Exactly how much work do you expect us to do for you? How much work have you done on your own?

 

You've said/implied you know how to do the first part about asking for initial information and doing the search. Have you at least written that?

Link to comment
Share on other sites

If you READ the first line of my first entry I said "I am in the beginning stages of (trying to develop) a customer tracking database and would appreciate guidance and direction."

What occurred in my thought process was the realization that THIS particular step will give me a problem.

I do not expect or want anyone to do the work for me.

What I asked for was to be pointed in the right direction BEFORE wasting time wandering through the forest.

If there is a recommended methodology or a best practice, it would probably take less time to explain it or offer the few lines of code as a template versus the keystrokes to dance around without lending assistance.

Link to comment
Share on other sites

For what it's worth, Google Analytics (GA) offers pretty much all the things you're looking for out-of-the-box, for free.

https://support.google.com/analytics/answer/3123662?hl=en

 

Read that UserID link.

 

Once you have all the data in GA, then you can choose for yourself what to do with it.  Whether that be for reporting within the GA interface itself, or for exporting large amounts of data to store on your own personal database server, your first step will be gathering the data and then figuring out how you want to deal with it.  Unless I'm just completely misunderstanding what you're trying to do.

 

If you're talking about a user management system where you're not exactly tracking traffic patterns or conversion goals, but rather user actions in general, like this site.

 

I guess it boils down to what you're after:

 

 - Do you want to know which User IDs visits Pages X, Y, and Z of your site.

 - Or, do you want to know which User Names have performed actions throughout your site.

 

If you want to go by User Names and actions, then you'll need to have a user management system since GA does not allow the storage of Personally Identifiable Information on their servers.

Link to comment
Share on other sites

Thanks Zane.

But no, I am not trying to track website analytics, although I may take a look at this link for future reference.

At this point I am trying to track physical visits to a physical store with actual communication between a live employee (at a cash register) and a local customer base.

I just want to help this mom-and-pop shop have tangible data to determine who their best customers are, and possibly build up the weaker patrons.

Link to comment
Share on other sites

How many scripts have you WRITTEN yourself that send out a form, capture the POST data back from that form, and use it to update a table? That would be a great exercise for a noob to learn how things are done in this world! You seem to have a lack of knowledge/experience in doing this very basic thing yet you are embarking on this huge project that you are clearly not ready for....

 

Just my $.02.

Link to comment
Share on other sites

So, if I understand correctly, you want to track your customers without putting too much of a burden on them?  If that's the case, then I would give them something similar to an Ingles Advantage Card with a barcode on it.  You would then create or buy some software to interpret that barcode and send it to your PHP script with an HTTP POST or GET request.  Though, realistically, you'd need to convince them first why they need the card.  Perhaps it offers discounts -- most likely reason.  Anyway, that's beside the point.

 

What you want to do is first create your PHP script to expect data in a particular format from a specific type of request.  Most likely, you'd need to send information like the customer's unique identifier, an action, an action category, and an action value, or even an array of them.  Program your script to do whatever you want it to depending on the use cases you can come up with.

 

Once you've got that procedure down, you can then generate encoded strings to be converted into a barcode, which you'd print onto a card, which you'd probably laminate and give to the customers.

 

Now, as far as code is concerned, that's all up to you.  Draw out your project, draw arrows, make diagrams, and figure out how you yourself would code it, and then try to code it.  Once you've done all of that and have actual coding attempts to show us, then this is the only advice we can possibly come up with.to help you.

Link to comment
Share on other sites

This is for a small town business with a local customer base. The idea of a bar code system is good but cost prohibitive.

However, the expense of a laptop and a few clicks by the friendly retailer that already knows everybody's name could help develop a better marketing plan.

Setting up the database should be the most expensive piece. And I am doing this for free.

Link to comment
Share on other sites

A small town business with a local customer base? What makes you think that these customers are interested in the store owner's ambitious plans to track their business transactions? Have you and the owner done any kind of feasibility study on how this will be received by the customers and employees as well as how much value it will bring to him/her?

 

I don't see this as a database concern at all. And that will certainly NOT be the most expensive piece. The main thrust of your design here is how to make it work for the customers and/or employees. Who is going to use this product - the customer or the employees? You have not really made that clear to us.

 

Most importantly you need to make this 'thing' work almost transparently (meaning 'quickly and easily') since your long-time customers aren't really expecting what used to be a quick stop (perhaps?) at their favorite local retailer to turn into some modern contraption that alters their experience.

 

From long experience in designing apps I can state that the early phases of any design can easily be driven by the ambitious programmer who envisions something spectacular. This then turns into a nightmare if the proper input isn't provided by the user(s) to control that vision and turn it into what is really needed.

Link to comment
Share on other sites

So, what happens when they hire someone from out of town who doesn't know everyone already?  Or what if someone forgets who someone is?  Is there going to be a big bulletin board in front of them with pictures of the customers like the most wanted list at the post office?  Another option would be to collect their driver's license number and use that as their unique identifier, but that information is also pretty sensitive and people may not want to give it out.  Long story short, if you rely on human activity to get your system flowing, then there will be errors and a lot of inconsistency what will ultimately give you quite a headache in the long-run.

Link to comment
Share on other sites

Does anyone start at the top?

All of this was covered in my initial post. If you step away from the ridicule and READ the actual information you may discover that this is not as monumental as previous posters have concocted.

@feasability: the owner wants it. This, it is feasible since all employees know how to speak.

@new employees: they will be trained like monkeys to smile, say hello, and ask for the customers name. No additional ID required. Radical, isn't it?!??

 

So, back to the ISSUE created a week ago. The details are simple and outlined and clarified in my first and second posting.

Thank you.

Link to comment
Share on other sites

Please provide any coding help or direction that would help me with a dialogue box asking "Do you mean Bob Smith with this address/phone number?

Well, you haven't provided any code for us to help you with, therefore we've resorted to direction. You've scoffed at the direction given, which is to plan this out. If it's so feasible, then come up with a prototype and ask for help when you run into issues. Otherwise, we have to stare at our crystal balls, and I admit, mine isn't plugged in.

 

If you're just looking for code to pop up a dialog box, then JavaScript's prompt() function should do?

Link to comment
Share on other sites

PMFJI, but you have strange definition of "feasible". I want to be President of the United States. Does that make it feasible?

 

In your situation I would use an incremental search so, when the user enters some of the firstname and/or surname, an AJAX call fetches a list of matching customers, each with a radio button to select one. The more letters that are entered the smaller the matching list becomes, thus narrowing down the search.

 

This method allows you to get a manageable list with minimum of input. My 0.02.

Link to comment
Share on other sites

"Please provide any coding help or direction that would help me with a dialogue box asking "Do you mean Bob Smith with this address/phone number? "

 

Well - we don't usually provide complete sets of code. We usually help out with posters who have provided some code and have either badly written it or need a kick in the rear to straighten it out. You haven't shown us anything that you have tried so that leaves most of us unable to help you.

 

As Barand just posted you could use an ajax call and get immediate responses to your inputs to narrow down the customer id/name quickly. You could also skip the ajax (and suffer a short delay) and just type in a name or part of a name and POST your form to your script. That script would then use the snippet to do a LIKE query on your database and return to the same web page a set of info (such as name and address). If there are multiple hits then the page could display a dialog box over the form to show the choices and allow the user toselect one of them and then a nifty JS function could hide that dialog box and paste the selected name and address where it belongs on the screen along with any other non-displayed data where it may need to be seen.

 

Is that doable by you?

Link to comment
Share on other sites

Now we're making progress.

Brand's suggestion is what I had in mind.

I've never used AJAX and don't know if it might be a good exercise or an unnecessary complications. Opinions??

Again, I haven't written code for this yet, but suspect my biggest dilemma will not be searching for ask the Bob Smiths, but then shifting that data to assist in a form whereby the employee can select the radio button to submit new data to the account of the correct Bob Smith (verified by his address and/or telle number).

This is where I was looking for some template that I could use for guidance.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.