Reusable Django app to track Meta/Facebook CAPI events server-side.
Project description
Django Facebook CAPI Dashboard
A reusable Django package to track Facebook (Meta) Conversions API events server-side, with built-in logging and admin dashboard.
📦 Installation
pip install django-facebook-capi
⚙️ Setup
1. Add to INSTALLED_APPS
INSTALLED_APPS = [
...
'django_facebook_capi',
]
2. Add Required Settings
In your settings.py, add:
FACEBOOK_PIXEL_ID = 'your_facebook_pixel_id'
FACEBOOK_CAPI_ACCESS_TOKEN = 'your_capi_access_token'
You can generate these from your Meta Events Manager.
3. Migrate Database
python manage.py migrate django_facebook_capi
This will create a model to log all tracked events in the admin.
4. Optional: Enable Django Admin
Ensure django.contrib.admin is enabled and your superuser is created:
python manage.py createsuperuser
Visit /admin/ and look for Facebook Event Logs.
🚀 Usage
Import utilities into your views
from django_facebook_capi.capi_utils import (
fb_page_view,
fb_view_content,
fb_lead_form,
fb_add_to_cart,
fb_initiate_checkout,
fb_purchase,
fb_custom_event,
)
📝 Event Tracking Examples
✅ PageView
track_page_view(request)
👀 ViewContent
track_view_content(
request,
content_name="Red T-Shirt",
content_category="Apparel",
content_ids=["sku123"]
)
📝 Lead Form Submission
track_lead_form_submission(request)
🛒 Add to Cart
track_add_to_cart(
request,
content_ids=["sku123"],
value=799,
currency='INR'
)
💳 Initiate Checkout
track_initiate_checkout(
request,
content_ids=["sku123", "sku124"],
value=1598,
currency='INR'
)
💰 Purchase
track_purchase(
request,
content_ids=["sku123", "sku124"],
value=1598,
currency='INR',
transaction_id='txn_001'
)
⚙️ Custom Event
track_custom_event(
request,
event_name="StartTrial",
custom_data={"plan": "Pro", "value": 0}
)
📊 Logging & Admin Panel
All events sent via this package are logged into your database and can be viewed in the Django Admin dashboard. Each log includes:
- Event name
- Response status code
- Response from Meta
- Source URL
- Timestamp
🧠 Notes
- You must share your Meta Pixel's Business Settings with your CAPI token if using a system user.
- Make sure
_fbcand_fbpcookies are available in requests for optimal matching. - Email and phone values will be hashed with SHA256 before sending.
💡 Roadmap
- Retry failed events
- Custom signal support
- Admin filtering by status code
- Retry/resend via admin actions
🧑💻 Contributing
- Fork the repo
- Make changes
- Submit a PR
📝 License
MIT @ 2025
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_facebook_capi-1.1.2.tar.gz.
File metadata
- Download URL: django_facebook_capi-1.1.2.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9404a78abd67087ace5f45a038d2fc24a50c58ace6f549b8b3822ea2468642f1
|
|
| MD5 |
02ed50bb549cba90753b9c4d0be262a3
|
|
| BLAKE2b-256 |
87fd1186adc7f1ddf681b90501fc9a5bddb1b61a4e7e74c5584a9b06dc23c77c
|
File details
Details for the file django_facebook_capi-1.1.2-py3-none-any.whl.
File metadata
- Download URL: django_facebook_capi-1.1.2-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dfa95e06bc7393c4b7884c3198019cfcbb4e5cbf9299aaedc94fbd37caec554c
|
|
| MD5 |
8c29f39ca1f89bd246dd86f5513e09b1
|
|
| BLAKE2b-256 |
e2ca870a5a55aefc31bba9050512ebb817aa6f32401d765f8a06330bd07711e1
|