Sistema de referidos

hola cordial saludo contento de estar aquí creando con Glide mi nombre es esteban de Colombia estoy creando una tienda digital para vender productos pero lo que mas interesa es incorporar en la aplicación un sistema de referidos que consiste en lo siguiente mi idea es premiar a los clientes con puntos por cada compra que hagan que luego pueda redimir pero lo que mas me interesa es que cada cliente que tenga pueda referir la aplicación a sus amigos con un enlace y también sea premiado por haber por referir a otros la aplicación ejemplo tengo un cliente llamado Luis que a referido a su amigo juan entonces juan queda en su lista de referidos entonces cada ves que juan haga una compra la tienda lo premia dándole puntos por su compra a juan pero también a Luis que lo refirió por ejemplo si la tienda da cien puntos por determinada compra entonces que la aplicación le sume 50 puntos a juan por su compra y le sume 50 puntos a Luis que lo refirió por ello mi pregunta es si puedo crear este sistema de referidos en Glide y como podría hacerlo agradesco su ayuda al respecto

Spanish version:

Creo que puedes hacerlo así:

  • En cada compra, supongo que ya escribes el email o el rowID del comprador en la tabla de Compras.

  • Para el referido, puedes permitir que el usuario introduzca el email de la persona que le ha referido a la app, o utilizar un código único, lo que prefieras.

  • De vuelta a la tabla Compras, crea una relación desde la columna email/rowID de vuelta a la tabla Usuarios.

  • Busque el correo electrónico/código de la persona que lo refirió usando la relación anterior. Ahora tienes la información del comprador y la del referente (si lo hay) en la misma tabla.

  • Cree una columna if then else. Si el email/ID del remitente está vacío entonces 0, si no 1.

  • Asumiendo que tienes una columna con un número fijo para los puntos que quieres dar por la compra, puedes tener una columna matemática, llamémosla “Puntos finales”: Total de puntos por compra/(1 + columna “si-entonces”). Por lo tanto, si hay un referente, se dividirá por 2. Si no, el comprador se lleva el punto completo.

  • Por último, en la tabla de usuarios, crear 2 relaciones:

  • 1 desde el correo electrónico/ID a la columna de correo electrónico/ID del comprador de la tabla de compras, haz que coincida de forma múltiple, y luego haz un rollup para sumar los “puntos de compra”.

  • 1 desde el correo electrónico/ID de referencia a la columna de correo electrónico/ID de referencia de la tabla de compras, que sea una coincidencia múltiple, y luego haga un rollup para sumar los “puntos de referencia”.

  • Cree una columna matemática para sumar los dos resultados anteriores, y tendrá los puntos finales.
1 Like

English version:

I think you can do it like this:

  • On every purchase, I assume you already write the email or the rowID of the purchaser to the Purchases table.

  • For the referral, you can allow the user to enter the email of the person who referred them to the app, or use a unique code, whatever you prefer.

  • Back to the Purchases table, create a relation from the email/rowID column back to the Users table.

  • Lookup the email/code of the referrer using the relation above. Now you have the purchaser’s info and the referrer’s info (if any) in the same table.

  • Create an if then else column. If referrer email/ID is empty then 0, else 1.

  • Assuming you have a fixed number column for the points you want to give for the purchase, you can then have a math column, let’s call it “Final points”: Total points for purchase/(1 + if-then-else column). Hence if there’s a referrer, it will be divided by 2. Else the purchaser takes the full point.

  • Finally, in the users table, create 2 relations:

  • 1 from the email/ID to the Purchases table’s purchaser email/ID column, make it a multiple match, then have a rollup to sum the “purchasing points”.

  • 1 from the email/referral ID to the Purchases table’s referral email/ID lookup, make it a multiple match, then have a rollup to sum the “referral points”.

  • Create a math column to sum the two results above, and you have the final points.
1 Like