Метрика / Передавать покупки (интеграция ecommerce)

remotes/origin/feature/ecommerce-gtag
gzbender 6 years ago
parent 8852dcf915
commit 53729c5f2e
  1. 5
      apps/course/models.py
  2. 3
      apps/course/templates/course/course.html
  3. 2
      apps/payment/models.py
  4. 18
      apps/payment/templates/payment/pay.html
  5. 14
      apps/payment/templates/payment/payment_success.html
  6. 15
      web/src/js/modules/gtag.js

@ -144,6 +144,11 @@ class Course(BaseModel, DeactivatedMixin):
return super().save()
@property
def age_str(self):
ages = dict(self.AGE_CHOICES)
return ages.get(self.age)
@property
def url(self):
return self.get_absolute_url()

@ -402,7 +402,8 @@
window.LIL_STORE.data.gtagProduct = {
id: +'{{ course.id }}',
name: '{{ course.title }}',
category: 'course',
category: '{{ course.category.title }}/{{ course.age_str }}',
brand: 'Lil.School/{{ course.author.get_full_name }}',
quantity: 1,
price: +'{{ course.price|default:0|floatformat:"0" }}',
};

@ -301,7 +301,7 @@ class Payment(PolymorphicModel):
payment=self)
if created:
from apps.notification.tasks import send_gift_certificate
send_gift_certificate(ugs.id)
send_gift_certificate.delay(ugs.id)
# Если это не первая покупка, - отправляем бонусы юзеру
if self.user.paid_one_more and not self.user.bonuses.filter(
is_service=True, action_name=UserBonus.ACTION_PAID_ONE_MORE).count():

@ -33,7 +33,8 @@
{% if course %}
id: +'{{ course.id }}',
name: '{{ course.title }}',
category: 'course',
category: '{{ course.category.title }}/{{ course.age_str }}',
brand: 'Lil.School/{{ course.author.get_full_name }}',
quantity: 1,
price: +'{{ course.price|default:0|floatformat:"0" }}',
{% endif %}
@ -41,7 +42,8 @@
{% if school %}
id: +'{{ payment.package.id }}',
name: 'Подписка с {{ payment.date_start|date:"j-m-Y" }} до {{ payment.date_end|date:"j-m-Y" }}',
category: 'package',
category: 'Подписка',
brand: 'Lil.School',
quantity: 1,
price: +'{{ payment.amount|default:0|floatformat:"0" }}',
{% endif %}
@ -49,7 +51,8 @@
{% if camp %}
id: +'{{ payment.package.id }}',
name: 'Подписка с {{ payment.date_start|date:"j-m-Y" }} до {{ payment.date_end|date:"j-m-Y" }}',
category: 'package',
category: 'Подписка',
brand: 'Lil.School',
quantity: 1,
price: +'{{ payment.amount|default:0|floatformat:"0" }}',
{% endif %}
@ -57,17 +60,12 @@
{% if gift_certificate %}
id: +'{{ gift_certificate.id }}',
name: 'Сертификат {{ gift_certificate.price }}',
category: 'gift_certificate',
category: 'Подарочный сертификат',
brand: 'Lil.School',
quantity: 1,
price: +'{{ gift_certificate.price|default:0|floatformat:"0" }}',
{% endif %}
};
window.LIL_STORE.data.gtagTransaction = {
transaction_id: +'{{ payment.id }}',
value: '{{ payment.amount }}',
checkout_step: 1,
items: [window.LIL_STORE.data.gtagProduct],
};
</script>
<script type="text/javascript" src="{% static 'pay.js' %}"></script>
{% endblock foot_js %}

@ -42,7 +42,8 @@
{% if course %}
id: +'{{ course.id }}',
name: '{{ course.title }}',
category: 'course',
category: '{{ course.category.title }}/{{ course.age_str }}',
brand: 'Lil.School/{{ course.author.get_full_name }}',
quantity: 1,
price: +'{{ course.price|default:0|floatformat:"0" }}',
{% endif %}
@ -50,7 +51,8 @@
{% if school %}
id: +'{{ payment.package.id }}',
name: 'Подписка с {{ payment.date_start|date:"j-m-Y" }} до {{ payment.date_end|date:"j-m-Y" }}',
category: 'school',
category: 'Подписка',
brand: 'Lil.School',
quantity: 1,
price: +'{{ payment.amount|default:0|floatformat:"0" }}',
{% endif %}
@ -58,7 +60,8 @@
{% if camp %}
id: +'{{ payment.package.id }}',
name: 'Подписка с {{ payment.date_start|date:"j-m-Y" }} до {{ payment.date_end|date:"j-m-Y" }}',
category: 'camp',
category: 'Подписка',
brand: 'Lil.School',
quantity: 1,
price: +'{{ payment.amount|default:0|floatformat:"0" }}',
{% endif %}
@ -66,7 +69,8 @@
{% if gift_certificate %}
id: +'{{ gift_certificate.id }}',
name: 'Сертификат {{ gift_certificate.price }}',
category: 'gift_certificate',
category: 'Подарочный сертификат',
brand: 'Lil.School',
quantity: 1,
price: +'{{ gift_certificate.price|default:0|floatformat:"0" }}',
{% endif %}
@ -74,7 +78,7 @@
window.LIL_STORE.data.gtagTransaction = {
transaction_id: +'{{ payment.id }}',
value: +'{{ payment.amount|floatformat:"0" }}',
checkout_step: 2,
checkout_step: 1,
items: [window.LIL_STORE.data.gtagProduct],
};
</script>

@ -26,14 +26,13 @@ $(document).ready(function () {
window.gtag('event', 'checkout_progress', {
"items": [window.LIL_STORE.data.gtagProduct],
});
window.gtag('event', 'purchase', window.LIL_STORE.data.gtagTransaction);
}
if(window.LIL_STORE.urlIs(['courseBuySuccess', 'schoolBuySuccess', 'campBuySuccess', 'giftCertificateBuySuccess'])){
window.gtag('event', 'checkout_progress', {
"items": [window.LIL_STORE.data.gtagProduct],
});
window.gtag('event', 'purchase', window.LIL_STORE.data.gtagTransaction);
window.gtag('event', 'checkout_progress', {
"items": [window.LIL_STORE.data.gtagProduct],
});
window.gtag('event', 'purchase', window.LIL_STORE.data.gtagTransaction);
}
if(window.LIL_STORE.urlIs('course')){
@ -69,7 +68,8 @@ $(document).ready(function () {
"items": [{
id: $this.data('package'),
name: 'Подписка на ' + +$this.data('duration') + ' месяцев',
category: 'package',
category: 'Подписка',
brand: 'Lil.School',
quantity: 1,
price: +$this.data('price'),
}],
@ -85,7 +85,8 @@ $(document).ready(function () {
"items": [{
id: $this.data('gift-certificate'),
name: 'Подарочный сертификат на ' + +$this.data('price') + ' руб',
category: 'gift-certificate',
category: 'Подарочный сертификат',
brand: 'Lil.School',
quantity: 1,
price: +$this.data('price'),
}],

Loading…
Cancel
Save