Growth Hacking + Python = 🚀

Cette article présente quelques exemples pour faire du Growth hacking avec Python, le language de programmation.

Le Growth Hacking avec python pour hacker la croissance d’une entreprise. Voici quelques packages qui peuvent être utiles pour construire votre programme.

selenium==3.141.0
Django==2.2.5
requests==2.22.0
pillow==6.1.0
imageio==2.5.0

1. Récupérer et traiter les données de vos leads

selenium == Web Scraper Python

Documentation disponible ici.

Principalement utilisé pour faire des tests unitaires, Selenium permet d’automatiser le navigateur web pour récupérer des données sur les pages souhaitées. Avec une fréquence d’actions lentes, de nombreux sites internet ne le détectent pas. Quelques lignes de codes permettent de récupérer des données comme :

  • full_name
  • company
  • website

dropcontact.io == API Emails Génération

Documentation disponible ici.
Pricing disponible ici.

Le rôle de dropcontact.io est de nettoyer et d’enrichir les données simplement. Par exemple, les données ci-dessous sont envoyées à l’API :

  • full_name = « Alexis Le Baron »
  • company = « Station Spatiale »
  • website = « stationspatiale.com »

Voici les données récupérées :

{
     "data": [
         {
             "first_name": "Alexis",
             "last_name": "Le Baron",
             "email": [
                 {
                     "email": "alexis@stationspatiale.com",
                     "qualification": "nominative@pro"
                 }
             ],
             "company": "Station Spatiale",
             "website": "stationspatiale.com",
         }
     ],
     "error": False,
     "success": True
}

2. Tracker les emails

sendgrid.com == API Email Service

Documentation mail send.
Documentation webhooks des tracking events.
Pricing.

Lors de l’envoi d’emails avec Sendgrid, un système de tracking est assuré pour récupérer des données comme :

  • OPEN : ouverture de l’email
  • CLICK : clic sur un lien dans l’email
  • UNSUBSCRIPTION : se désinscrire à l’emailing
  • DELIVERED : email reçu
  • BOUNCE : non reçu
  • etc…

Grâce au tracking, il est possible de voir si un mailing a été efficace ou non. Voici un exemple de données reçues :

[{
     'asm_group_id': 12345,  # Group subscription
     'email': 'alexis@stationspatiale.fr',  # Email target
     'event': 'click',  # Event
     'ip': '11.22.33.444',  # Ip of target
     'customer_id': '8',  # Custom variable
     'useragent': 'Mozilla/5.0 (X11; Linux x86_64)...',
     'timestamp': 1568487847,
     ... }]

3. Générer des GIFs dynamiques

pillow && imageio == Image Python

pillow documentation.
imageio documentation.

Voici comment en 3 étapes ajouter du texte dans un GIF pour personnaliser votre email :

  • Premièrement : Découper le GIF de base sur lequel il faut mettre du texte en frames.
from PIL import Image
  def cut_frames_gif():
     frame = Image.open('./my.gif')
     c_frame = 0
     while frame:
         frame.save(
             '%s/%s_%s.gif' % ('./gif_frames', 'my_cut', c_frame),
              'GIF'
         )
         c_frame += 1
         try:
             frame.seek(c_frame)
         except EOFError:
             break
  • Deuxièmement : Écrire du texte dans une ou plusieurs frames.
from PIL import Image
from PIL import ImageFont 
from PIL import ImageDraw

img = Image.open('./gif_frames/my_cut_1.gif')
draw = ImageDraw.Draw(img) 
font = ImageFont.truetype(
     'lato-bold.ttf',  # Font
     50  # Font-size 
) 
draw.text(
     0,  # Pos X
     0,  # Pos Y
     'Station Spatiale',  # Text to write
     (47, 177, 150),  # Color
     font=font 
) 
img.save('./gif_frames/my_cut_1.gif', 'GIF')
  • Troisièmement : Transformer toutes les frames en GIF
import imageio  

imageio.mimsave(
     './my_text.gif', # File result
     [
         './gif_frames/my_cut_0.gif',
         './gif_frames/my_cut_1.gif',
         './gif_frames/my_cut_2.gif',
     ], # All frames
     palettesize=16,  #  Optimize colors
     subrectangles=True,  # Optimize
     duration=[0, 1, 0]  #  Duration 1 sec on frame 2 
)

Il faut éviter de générer des GIFs trop lourds en poids pour améliorer le chargement de l’image lors de l’ouverture d’un email. Pour cela, il est possible de l’optimiser grâce à plusieurs paramètres de imageio.mimsave(). Voici un exemple généré avec une variable texte :

gif article blog python

4. Administrer et visualiser les données d’emails

django == Framework Web Python

Admin documentation Django.

Le web serveur qu’il faut est Django :

  • Récupérer les données des webhooks de sendgrid
  • Administrer et visualiser les données

Avec Django Admin, aucune ligne de code « front-end » n’est nécessaire grâce à la personnalisation des classes : Model et ModelAdmin.

Le Growth Hacking avec python : le mot de la fin

Grâce à ces outils, vous pouvez entièrement personnaliser et automatiser vos campagnes de mailing. Voici en bref une explications du Growth Hacking avec python

Les articles du même thème