Skip to main content

Set targeting in diffrent advertisment platforms.

Project description

Targeting Platform

Pypi Version Python Version License

Prerequsites

To use module following tools need to be configured:

  • Redis - is used for caching platform information (catalog of lineitems/adgroups e.g.) and locks. It depends on amount of information in your platform but as a starting point 1Gb memory will be enough. For now only single entrypoint is supported. Prefix for cache keys is PLATFORM_CACHE_ (set in CACHE_KEYS_PREFIX) and for locks PLATFORM_LOCK_ (LOCK_KEYS_PREFIX).

Credentials for platforms

Each platform has it's own format of credentials. You need to obtaint credetantial before starting to use platforms thorugh this module.

DV360 (dv360)

Requires service account private key (whole JSON for service account). E.g.

{
    "type": "service_account",
    "project_id": "",
    "private_key_id": "",
    "private_key": "-----BEGIN PRIVATE KEY-----\n\n-----END PRIVATE KEY-----\n",
    "client_email": "",
    "client_id": "",
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://oauth2.googleapis.com/token",
    "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
    "client_x509_cert_url": ""
}

Meta (Facebook) (meta)

Example of credentails (app_scoped_system_user_id is required for detailed access validation):

{
    "access_token": "",
    "app_scoped_system_user_id":
}

The Trade Desk (ttd)

Example of credentials (login and password is required for automatic token renewal):

{
    "PartnerId": "",
    "token": "",
    "Login": "",
    "Password": ""
}

Platforms

DV360

Library works as with normal lineitems as with YouTube through SDF. In case of passing lineitem id for YouTube (in array all ids should be either for normal or YouTube lineitems) methods will return Pandas DataFrame with prepared data - you need to get CSV from it and manually upload to Google.

Meta

While testing/using you can receive Rate Limit (set by Meta Marketing API) - you need to monitor your limits before operations. For current implementaion (probably will be chnaged in future releases) there is no retries and exceptions - you simply get empty result (means set/chnaged nothing).

The Trade Desk (TTD)

Setting locations (geofence) in Data Groups can take a time - about 45 minutes. It is how TTD operates - it takes seconds to create thousands of points in geofences, but about an hour while they will be availible to use (TTD API). In code we have expponential retries to repeat operations till success (do not be confused - 403 error does aslo mean "we can't find geofence" in terms of TTD) - so all you need to wait.

How to use

See examples in integration tests.

You can adopt these tests by placing appropriate sectet files into folder secrets.

Locks

To prevent simultanous updating of the same placements in the platform locks are used. While you are calling clear, pause, delete and set operations lock will be acquired and released in the end of the operation (or after 1 hour in case of any error). If method can't acquire lock it will return empty results (no exception raised).

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

targeting_platform-0.3.1.tar.gz (45.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

targeting_platform-0.3.1-py3-none-any.whl (46.6 kB view details)

Uploaded Python 3

File details

Details for the file targeting_platform-0.3.1.tar.gz.

File metadata

  • Download URL: targeting_platform-0.3.1.tar.gz
  • Upload date:
  • Size: 45.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.6

File hashes

Hashes for targeting_platform-0.3.1.tar.gz
Algorithm Hash digest
SHA256 000bc3deedc8a1e8e20ea009076e740336e2f1745eb4763af4a0f0dd0820eff5
MD5 0d7e06422d957635391180353e3573a5
BLAKE2b-256 f9aa2ccbe484ddf4f60d56c3495b126a2094e0f13296b918206e1d782d26acbf

See more details on using hashes here.

File details

Details for the file targeting_platform-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for targeting_platform-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dd78fb65e678f4dcf69c89617b7cb99e77f7faaa23261cacdb3137ad51813c23
MD5 f4a53613ef3104a7c6795d8648034c67
BLAKE2b-256 dd2a6f8c1a8f7428d41c3a0561f4c3d419c177c47e6e87d70f12051c977bb345

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page