def create_product_audience(product_set_id=None, product_catalog_id=None):
    if product_catalog_id is None:
        product_catalog_id = create_product_catalog().get_id()

    if product_set_id is None:
        product_set_id = create_product_set(product_catalog_id).get_id()

    audience = ProductAudience(parent_id=test_config.account_id)
    audience[ProductAudience.Field.name] = unique_name('Product Audience')
    audience[ProductAudience.Field.product_set_id] = product_set_id
    audience[ProductAudience.Field.inclusions] = [
        {
            'retention_seconds': 86400,
            'rule': {
                'event': {
                    'eq': 'AddToCart',
                },
            },
        },
    ]
    audience.remote_create()

    return audience
product_audience.update({
    ProductAudience.Field.name: 'Product Audience',
    ProductAudience.Field.product_set_id: product_set_id,
    ProductAudience.Field.inclusions: [
        {
            'retention_seconds': 86400,
            'rule': {
                'event': {'eq': 'AddToCart'},
            },
        },
        {
            'retention_seconds': 72000,
            'rule': {
                'event': {'eq': 'ViewContent'},
            },
        },
    ],
    ProductAudience.Field.exclusions: [
        {
            'retention_seconds': 172800,
            'rule': {
                'event': {'eq': 'Purchase'},
            },
        },
    ],
})
product_audience.remote_create()
# _DOC close [PRODUCTAUDIENCE_CREATE_NO_PURCHASE]

product_audience.remote_delete()