Send message to users who registered by did not complete event X - firebase-analytics

I would like to send messages to users who registered 7 days ago, and have not made a purchase, as a reminder.
I have created the audience below. My questions are :
Is it certain that the message will not be sent out right after the registration and that the evaluation period will be 7 days after the registration to make sure they haven't made a purchase? Do I need to specify this anywhere?
When choosing the Scheduling settings for the message, if I choose "Daily" then will all users who qualify to receive this message get it at the next 12:00 (as of 7 days after they register)?
Thanks!
The criteria

I don't think your audience is correct. "In any 7 days period" doesn't mean "7 days ago".
With your current settings, you will target any user that registers within the last 7 days (= also 2 days ago, 3 days ago...).
By choosing "Daily" all users in your audience will receive your message. But you can specify within the notification parameters that users can receive this notification only once.
I'm also trying to create audiences of users that performed an action X-days ago, so I can't tell you right now the best way to do it.
Hope this helps!

Related

how to prevent cross bookings / Over- bookings in laravel booking code

I like to prevent the last-service double- or cross-bookings.
at the moment many users can check the availability (at the same time) for the same service, getting the availability and all can book the same service/ on the same date. which is a big problem and caused over-bookings.
any idea how to prevent this in Laravel?
Thanks
You need a way to know how many users have booked for a particular service for a particular day
You also need to set a max number of bookings for each service for a day
Just before you save which user has booked a particular service, you can check if the service is fully booked, by checking the number of users that have already booked the service for that day if it is less than the max number of bookings and act accordingly
if you need more clarification or need help designing the database, ask

How to create an audience of users that were active in the past, but not in the past week

I want to send messages to users who were active in the past but inactive in the last 7 days. I am trying to create an audience that targets users who have NOT completed the event X in the LAST 7 DAYS, but they HAD completed it at some point in the past. Because there is no "last N days" condition to exclude, I am unable to create this audience. Is there a workaround?
According to the blog post on A Crash Course in Using the New Audiences in Analytics, it is possible to exclude groups from dynamic audiences these days. See the section on Excluding Groups in the post.
So you'll need two groups:
Users that were ever active
Users that were active in the past week
And then you build your final audience of users that are in group 1, but not in group 2.
An example of this (again from the blog post):
The above screenshot creates an audience of users who did exercise at least 5 times, but did not track a meal.

MySQL tables pattern for event calendar

I've been developing a PHP app recently that is aimed at helping Doctors & patients getting in touch and also uses FullCalendar for the doctor So he can manage his events.
My problem is: as I learned coding by myself, I have not learned how to decide whether to use this or that DB organisation.
Currently, the app creates a new table for each new subscription (Doctors only) that is named event_[$doctor_id] but I have to admit I'm scared by the perspective of having 3000 users!
My needs are:
keep a ref for each event during 2 years after its date (but not necessarily in the same dB table)
events younger than 6 months need to be visible in the calendar
to avoid errors, events are never (almost) deleted from the db - they are just disabled in order to allow the user to repair a 2 weeks old mistake
I Was considering using date named tables like "201303" for all the events taking place in March 2013, and then use a bot every month that will somehow save the oldest information (6 months + old) in a specific table or even in a file.
But as the changes might take me a few hours, I'd appreciate some advice from you people!

How to lock a database after a particular time from accepting an entry?

Okay..
I am making a web base application,that will be connected to a sms gateway.
It is basically an attendance app for colleges.
The Attendance will be updated using a sms by the teacher.
Now,the main part-
What I want to do is,the teacher should not be able to correct the attendance after 10minutes of sending the 1st message.i.e,the database should accept a correction or new message for the same class and the same teacher only for 10 minutes after the 1st attendance is recieved in the database.
So only recieving from a particular number should be blocked and also only if it is for the same class...
I hope the question is clear :o
Thankyou
This is not the sort of thing that you should be enforcing at the DB level, it belongs in your application code. If you can't connect time, number & class together in your DB, it's time to change your schema.
As Sean McSomething mentioned, this is not done at database level, this is business logic that should be checked just before interacting with a database. The best practice actually is to simply add a column time_created and before updating simply check if NOW() and time_created interval is less than 10 minutes. It's a pretty trivial job, but don't bother trying to do this in database with some stored procedures or other stuff, as it will make your application almost un-debuggable and very sloppy.
Check if there is a row with active number and active class, if there are no - insert, if there are any - check if this row's time_created is greater than 10 minutes ago, if it's not - update, ignore otherwise.

Traffic exchange script database design suggestions

I want to design a traffic exchange script that counts incoming traffic and tries to return a n:m (1in:2out for example) ratio of traffic. In the database, I want to have the sites info (SITE), then track traffic by site and ip (DAILY-HITS), then I want to have the trade counted per hour or day - not sure yet (SITE-TOTAL-HITS). I would love any suggestions I can get for designing a well designed database for handling traffic trades.
Right now I'm worried about tracking the incoming hits, later worry about returning. So basically my real question is, how can I design a database that can be efficiently used for returning the perfect amount of traffic for say the last 24 hours. The problem I'm having is, when it comes to programming, I want to have the best designed database for getting information on the last 24 hours and making sure I stay within the n:m ration. Heres what I've designed so far for the database:
SITE (just basic info):
id,
url,
title,
description.
DAILY-HITS:
id,
site_id,
ip,
date (include time - will be broken down per hour),
amount (count how many hits from this ip for this hour).
SITE-TOTAL-HITS (probably be updated every hour via script - useful later for counting last 24 hours):
id,
site_id,
year,
month,
day,
hour.
Any tips, suggestions or point me in the right direction would be greatly appreciated. Thanks in advance.
Here is my take on it for what it's worth:
Site:
Same as what you have
Traffic:
id,
site_id,
ip,
request_DateTimeStamp <- this is a date and time for the url request
no count here, just logging here is why:
assume you do have a count column
- url is requested
- lock up a record in the database with the same date and hour and ip
- Found, update the account
- Not Found, Create a new record and set the count to 1
this is a long process for a table that will presumably be updated a lot, within an hour span multiple request from the same ip will try to update the same record and they will have to wait on each other.
take out that count column and your process is simply to log the incoming traffic by always creating new records.
as far as data analysis is concerned, you can do it in couple of ways:
you can try building cubes: http://datacharmer.blogspot.com/2010/01/multi-dimensional-cubes-in-mysql.html
or you could create information aggregation tables like site_total_hits and just update them using nightly jobs or is often as you wanna run them depending on how accurate they have to be.
these are my 2 cents :D
You can use HitLeap to do that.
What is HitLeap? HitLeap is a Traffic Exchange, also known as an autohits service We help you increase your website hits, rankings (alexa, google) and more. Our affiliate program gives cash and traffic commissions of up to 50%. How does it work? After signing up, you will submit all the websites you want to send traffic to. Then you will earn free traffic by viewing other people's websites. Alternatively, you could buy a traffic package from us.
Go tho this link to sign up