Comment hacker la croissance d’une entreprise avec Python?

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 animé growth hacking 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

A lire : ✏️Designer un email marketing