Iklan Hotel - Katalog & Kabar

Untuk mempromosikan stok hotel Anda di Facebook, Anda harus membagikan informasi tentang hotel Anda dengan Facebook. Caranya dengan membuat katalog hotel dan kemudian mengisinya dengan hotel. Ada 2 cara untuk mengisi katalog Anda dan memperbaruinya:

Anda dapat membuat dan mengelola katalog hotel Anda di Commerce Manager.

Untuk menggunakan API dalam mengelola katalog:

  1. Buat katalog hotel
  2. Buat set produk dari katalog hotel Anda
  3. Kaitkan katalog ke sumber peristiwa Anda

Kabar Hotel - Unggah Hotel Anda ke Facebook

Kabar hotel adalah file dengan stok hotel Anda. Setiap baris atau item dalam file mewakili satu hotel. Anda dapat menggunakan satu atau beberapa kabar hotel, selama semua kabar berisi stok lengkap hotel Anda.

Format Kabar Hotel yang Didukung

CSV

Contoh CSV | Contoh TSV (diratakan) | Contoh TSV ( gaya JSON)

  • Baris pertama harus mencantumkan nama kolom pilihan sesuai urutan nilai yang diberikan. Baris berikutnya berisi nilai yang sesuai untuk setiap hotel.
  • Kolom yang berisi spasi kosong atau koma harus diapit oleh "tanda kutip".
  • Kolom berlapis atau multi-nilai seperti address, neighborhood, atau image dapat diwakili menggunakan nilai berenkode JSON atau dengan set kolom teks biasa bergaya “rata” yang dilabeli menggunakan sintaksis berjalur JSON, seperti address.city, neighborhood[0], image[0].url, image[0].tag[0], image[0].tag[1]. Kedua aturan itu bisa digunakan secara bergantian di file yang sama.

XML

Contoh XML

  • Node XML <listings> akar menyertakan satu set node <listing>, masing-masing mewakili satu hotel.
  • File harus diawali dengan tanda deklarasi <?xml yang valid.

Pengurai kabar berita otomatis mendeteksi pengkodean teks UTF8, UTF16, atau UTF32, dan defaultnya adalah LATIN1 jika bertemu dengan urutan byte tak terduga. Anda dapat menyediakan teks di nilai kolom dalam bahasa apa pun, namun nama kolom harus diberikan persis di bawah ini, dalam bahasa Inggris.

Kolom yang Didukung — Iklan Hotel

Kolom yang didukung berikut ini dirancang untuk item yang Anda tambahkan ke katalog produk Anda.

Untuk katalog yang dilokalkan, lihat kolom yang didukung untuk iklan hotel.

Kolom dan JenisDeskripsi

hotel_id

jenis: string

Wajib.

Panjang maksimal: 100

Pengidentifikasi unik Anda untuk hotel di dalam katalog. ID ini dicocokkan dengan content_ids yang disediakan dalam peristiwa aplikasi dan Pixel hotel Anda. Tips: Untuk meningkatkan kinerja, hindari menggunakan spasi untuk kolom pengidentifikasi unik ini. Jangan gunakan ID duplikat.

Contoh: FB_hotel_1234

room_id

jenis: string

Wajib jika menambahkan informasi kamar hotel.

Masukkan ID unik untuk jenis kamar hotel. Maks 100 karakter Contoh: FB_hotel_room_1234

name

jenis: string

Wajib.

Nama paling umum dari hotel tersebut.

Contoh: Facebook Hotel

description

jenis: string

Wajib.

Ukuran maksimal: 5000

Deskripsi singkat tentang hotel.

Contoh: Only 30 minutes away from San Francisco.

checkin_date

jenis: string

Wajib jika menambahkan informasi kamar hotel.

Tanggal singgah untuk menginap di hotel. Anda dapat menambahkan hingga 180 hari sejak tanggal kabar diunggah. Menggunakan standar ISO-8601 (YYYY-MM-DD).

Contoh: 2017-08-01

length_of_stay

jenis: string

Wajib jika menambahkan informasi kamar hotel.

Jumlah malam menginap di hotel.

Contoh: 7

base_price

jenis: string

Wajib jika menambahkan informasi kamar hotel.

Harga dasar kamar hotel per malam. Pastikan untuk menambahkan jenis mata uang ke harga (contoh: USD untuk dolar AS). Format harga sebagai biaya, diikuti kode mata uang ISO, dengan spasi antara biaya dan mata uang.

Contoh: 199.00 EUR

price

jenis: string

Wajib jika menambahkan informasi kamar hotel.

Harga total menginap di hotel, berdasarkan checkin_date dan length_of_stay. Format harga sebagai biaya, diikuti dengan kode mata uang ISO, dengan spasi antara biaya dan mata uang.

Contoh: 1393.00 USD

tax

jenis: string

Wajib jika menambahkan informasi kamar hotel.

Tarif pajak yang berlaku untuk harga tersebut. Format harga sebagai biaya, diikuti dengan kode mata uang ISO, dengan spasi antara biaya dan mata uang.

Contoh: 14.00 USD

fees

jenis: string

Wajib jika menambahkan informasi kamar hotel.

Biaya yang berlaku untuk harga tersebut. Format harga sebagai biaya, diikuti dengan kode mata uang ISO, dengan spasi antara biaya dan mata uang.

Contoh: 253.00 USD

url

jenis: string

Wajib.

Tautkan ke situs eksternal tempat Anda dapat memesan kamar hotel. Anda juga dapat menetapkan URL di level iklan menggunakan template_url_spec. URL di level iklan lebih diutamakan daripada URL di beranda.

Contoh: https://www.facebook.com/hotel

image[0].url

jenis: objek

Lihat Parameter Objek Gambar.

image[0].tag

jenis: objek

Lihat Parameter Objek Gambar.

brand

jenis: string

Wajib.

Merek jaringan hotel.

Contoh: Hilton

address

jenis: objek

Lihat Parameter Objek Alamat.

neighborhood[0]

jenis: string

Wajib.

Maks lingkungan yang diizinkan: 20

Lingkungan tempat lokasi hotel. Jika ada lebih dari satu lingkungan, tambahkan kolom tambahan untuk setiap lingkungan dan gunakan sintaks berjalur JSON di setiap nama kolom untuk menunjukkan jumlah lingkungan.

Contoh: Belle Haven

latitude

jenis: float

Wajib.

Garis lintang hotel.

Contoh: 37.484100

longitude

jenis: float

Wajib.

Garis bujur hotel.

Contoh: -122.148252

sale_price

jenis: string

Opsional.

Harga obral per malam menginap di hotel, berdasarkan checkin_date dan length_of_stay. Gunakan ini ketika Anda ingin mengiklankan diskon dari harga reguler hotel. Pastikan untuk menambahkan jenis mata uang ke harga (contoh: USD untuk dolar AS). Pastikan sale_price hotel lebih rendah daripada base_price. Format harga sebagai biaya, diikuti dengan kode mata uang ISO, dengan spasi antara biaya dan mata uang.

Contoh: 149.00 USD

guest_ratings.score

jenis: objek

Lihat Parameter Objek Penilaian Tamu.

guest_ratings.rating_system

jenis: objek

Lihat Parameter Objek Penilaian Tamu.

star_rating

jenis: float

Lihat Parameter Objek Penilaian Tamu.

loyalty_program

jenis: string

Opsional.

Program loyalitas yang Anda gunakan untuk mendapatkan poin selama menginap di hotel.

Contoh: Premium program

margin_level

jenis: bilangan bulat

Opsional.

Indikator profitabilitas hotel; nilai dari 1 hingga 10.

Contoh: 9

phone

jenis: string

Opsional.

Nomor telepon utama hotel.

Contoh: +61 296027455

applink

jenis: objek

Opsional.

Tautan dalam langsung ke halaman detail hotel di aplikasi seluler Anda menggunakan Tautan Aplikasi. Anda dapat menentukan tautan dalam di urutan menurun, tertinggi ke terendah:

  1. Di level iklan menggunakan template_url_spec
  2. Di sini di beranda menggunakan Objek Tautan Aplikasi
  3. Dengan menambahkan meta tag Tautan Aplikasi ke situs web Anda.

Pelajari selengkapnya tentang tautan dalam produk.

priority

jenis: bilangan bulat

Opsional.

Indikator prioritas hotel; nilai dari 0 (prioritas terendah) sampai 5 (prioritas tertinggi). Contoh: 5

category

jenis: string

Opsional.

Jenis properti. Kategori dapat berupa jenis deskripsi internal apa pun yang diinginkan. Contoh: Resort, Day Room

number_of_rooms

jenis: bilangan bulat

Opsional.

Jumlah total kamar/unit di daftar hotel ini.

Contoh: 150

status

Jenis: string

Mengontrol apakah barang aktif atau diarsipkan di katalog Anda. Hanya barang aktif yang bisa dilihat oleh orang di iklan, toko, atau saluran Anda lainnya. Nilai yang didukung: active, archived. Barang secara default akan berstatus aktif. Pelajari selengkapnya tentang mengarsipkan barang.


Contoh: active


Catatan: Beberapa platform partner seperti Shopify dapat menyinkronkan barang ke katalog Anda dengan status yang disebut staging, yang berperilaku sama seperti archived.

Kolom ini sebelumnya disebut visibility. Meskipun kami masih mendukung nama kolom lama, kami merekomendasikan Anda menggunakan nama baru.

custom_label_0
custom_label_1
custom_label_2
custom_label_3
custom_label_4

Jenis: string

Batas karakter maks.: 100

Hingga lima kolom khusus untuk informasi tambahan yang bisa digunakan untuk memfilter produk saat Anda membuat set. Contohnya, Anda bisa menggunakan kolom khusus untuk menunjukkan bahwa semua ruang merupakan bagian obral musim panas, lalu memfilter produk itu ke dalam set. Kolom ini mendukung semua nilai teks, termasuk angka.


Contoh: Summer Sale

Kolom ini didukung oleh kabar tambahan.

custom_number_0
custom_number_1
custom_number_2
custom_number_3
custom_number_4

Jenis: int

Maksimal lima kolom khusus untuk informasi tambahan terkait angka yang bisa digunakan untuk memfilter barang saat Anda membuat set. Kolom ini memungkinkan Anda untuk memfilter menurut rentang angka (lebih besar dari dan kurang dari) saat Anda membuat set. Contohnya: Anda bisa menggunakan kolom ini untuk menunjukkan tahun hotel dibuka, lalu memfilter rentang tahun tertentu ke dalam set.


Kolom ini mendukung bilangan bulat antara 0 dan 4294967295. Kolom ini tidak mendukung bilangan negatif, desimal, atau koma, seperti -2, 5,5, atau 10.000.


Contoh: 2022

internal_label

Jenis: string

Tambahkan label internal untuk membantu memfilter produk saat Anda membuat set produk. Misalnya, Anda bisa menambahkan label "musim panas" ke semua produk yang merupakan bagian dari promosi musim panas dan memfilter produk tersebut ke dalam set. Label hanya terlihat oleh Anda

Cantumkan setiap label dalam tanda kutip tunggal (') dan pisahkan beberapa label dengan koma (,). Jangan sertakan spasi kosong di bagian awal atau akhir label. Batas karakter: Hingga 5.000 label per produk dan 110 karakter per label.

Contoh (TSV, XLSX, Google Sheets): ['musim panas','sedang tren']

Contoh (CSV): “['musim panas','sedang tren']"

Catatan: Jika saat ini Anda menggunakan label khusus (custom_label_0 hingga custom_label_4) untuk memfilter set produk, sebaiknya beralih ke label internal (internal_label). Tidak seperti label khusus, Anda bisa menambahkan atau memperbarui label internal sesering yang diperlukan tanpa harus mengirim produk melalui tinjauan kebijakan setiap ada penambahan atau pembaruan, yang bisa memengaruhi penayangan iklan.

Kolom ini sebelumnya disebut product_tags. Meskipun kami masih mendukung nama kolom lama, kami merekomendasikan Anda menggunakan nama baru.

Parameter Objek Gambar


Nama dan Jenis KolomDeskripsi

url

jenis: string

Wajib.

Barang maks: 20

Tautan URL ke gambar item yang akan muncul di iklan Anda. Ikuti spesifikasi gambar berikut:

  • Semua gambar harus dalam format JPG, GIF, atau PNG.

  • Untuk iklan carousel dan iklan koleksi: Gambar ditampilkan dalam format persegi (1:1). Ukuran minimum gambar 500 x 500 px. Kami rekomendasikan 1024 x 1024 px untuk kualitas terbaik.

  • Untuk iklan gambar tunggal: Gambar ditampilkan dengan rasio aspek 1,91:1. Ukuran minimum gambar adalah 500 x 500 px. Kami rekomendasikan 1200 x 628 px untuk kualitas terbaik.

  • Jika Anda memiliki lebih dari satu gambar, tambahkan kolom tambahan untuk setiap gambar dan gunakan sintaks berjalur JSON di setiap nama kolom untuk menunjukkan jumlah gambar.

Contoh: image[0].url; image[1].url

Contoh: https://www.facebook.com/facebook_hotel.jpg

tag

jenis: string

Opsional.

Tanda yang ditambahkan ke gambar dan menunjukkan apa yang ada di gambar. Beberapa tanda bisa dikaitkan dengan sebuah gambar.

Contoh: Fitness Center, Swimming Pool, suite

INSTAGRAM_STANDARD_PREFERRED - Mengizinkan pengiklan memberi tanda pada gambar tertentu di beranda mereka sebagai gambar default yang akan digunakan untuk Instagram. Tanda ini sensitif huruf besar/kecil.


Parameter Objek Alamat

Kolom bertingkat atau multinilai seperti address dapat diwakili menggunakan nilai berenkode JSON atau dengan set kolom teks biasa “diratakan” yang dilabeli menggunakan sintaksis berjalur JSON, seperti address.region. Kedua aturan itu bisa digunakan secara bergantian di file yang sama.


Nama dan Jenis KolomDeskripsi

addr1 (address.addr1)

jenis: objek

Wajib.

Alamat jalan utama hotel.

Contoh: 1600 Pennsylvania Avenue

address.addr2

jenis: objek

Opsional.

Alamat jalan sekunder hotel.

Contoh: Apartment 1

address.addr3

jenis: objek

Opsional.

Alamat jalan tersier hotel.

Contoh: Downstairs

address.city_id (city_id)

jenis: string

Opsional.

Nilai untuk digunakan di URL tautan dalam (template_url) di materi iklan.

Contoh: 12345

address.city (city)

jenis: string

Wajib.

Kota tempat hotel berada.

Contoh: New York

address.region (region)

jenis: string

Wajib.

Negara bagian, kabupaten, wilayah, atau provinsi tempat hotel berada.

Contoh: California

address.country (country)

jenis: string

Wajib.

Negara tempat hotel berada.

Contoh: United States

address.postal_code (postal_code)

jenis: string

Wajib untuk negara dengan sistem kode pos.

Kode pos hotel.

Contoh: 94125, NW1 3FG

Parameter Objek Penilaian Tamu


Nama dan Jenis KolomDeskripsi

guest_ratings.score (score)

jenis: objek

Opsional.

Jumlah orang baru yang telah mengulas hotel Anda. Jika ditentukan Anda juga harus menyediakan score, max_score, number_of_reviewers, dan rating_system.

Contoh: 9.0/10

guest_ratings.number_of_reviewers (number_of_reviewers) jenis: int

Opsional.

Jumlah total orang yang sudah menilai hotel ini.

Contoh: 5287

guest_ratings.rating_system (rating_system)

jenis: string

Opsional.

Sistem yang Anda gunakan untuk ulasan tamu.

Contoh: Expedia, TripAdvisor

max_score

jenis: int

Wajib.

Nilai maks skor penilaian untuk hotel. Harus lebih besar dari atau sama dengan 0, dan kurang dari atau sama dengan 100

Contoh: 10

Hotel API - Buat dan Kelola Hotel Langsung

Anda dapat menggunakan Hotel API untuk langsung menambahkan, mengedit, dan menghapus hotel di katalog Anda. Gunakan Referensi Hotel API untuk informasi selengkapnya tentang cara mengelola hotel menggunakan API.

Bagian berikut hanya relevan untuk mengelola katalog Anda menggunakan API ini.

Membuat Katalog Hotel menggunakan API

Dokumen Referensi

Katalog hotel adalah kontainer untuk stok hotel Anda. Untuk menggunakan API katalog, pastikan Anda memiliki Level Akses Marketing API yang sesuai dan Anda telah menerima Ketentuan Layanan dengan membuat katalog pertama Anda melalui Pengelola Bisnis.

Untuk membuat katalog hotel untuk iklan hotel, atur vertical ke destinations:

curl -X POST \
  -F 'name="Test Hotel Catalog"' \
  -F 'vertical="hotels"' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v10.0/BUSINESS_ID/owned_product_catalogs

Mengunggah Beranda Hotel Anda melalui API

Setelah Anda membuat katalog, Anda harus mengunggah kabar hotel Anda ke Facebook. Gunakan API untuk membuat objek feed untuk setiap kabar yang ingin Anda unggah. Kami mendukung unggahan terjadwal dan langsung.

Filter Katalog Hotel ke Set Hotel

Dokumen Referensi

Set hotel merupakan subset katalog Anda. Untuk menyiapkan iklan hotel, Anda perlu set hotel. Karena itu, Anda harus membuat minimal satu set hotel.

Set hotel ditetapkan oleh filter yang diterapkan pada katalog hotel. Contoh: Anda dapat membuat set hotel dengan semua hotel dengan year later than 2015 lebih besar dari 3. Catatan: Anda juga dapat membuat set hotel tanpa filter apa pun. Dalam kasus itu, set hotel akan berisi semua hotel dalam katalog Anda.

Untuk membuat satu set hotel yang berisi semua hotel yang berisi 'contoh merek' yang disebutkan di kolom brand:

curl -X POST \ -F 'name="Test Hotel Set"' \ -F 'filter={ "brand": { "i_contains": "sample brand" } }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v21.0/<PRODUCT_CATALOG_ID>/product_sets
'use strict'; const bizSdk = require('facebook-nodejs-business-sdk'); const ProductCatalog = bizSdk.ProductCatalog; const ProductSet = bizSdk.ProductSet; const access_token = '<ACCESS_TOKEN>'; const app_secret = '<APP_SECRET>'; const app_id = '<APP_ID>'; const id = '<PRODUCT_CATALOG_ID>'; const api = bizSdk.FacebookAdsApi.init(access_token); const showDebugingInfo = true; // Setting this to true shows more debugging info. if (showDebugingInfo) { api.setDebug(true); } const logApiCallResult = (apiCallName, data) => { console.log(apiCallName); if (showDebugingInfo) { console.log('Data:' + JSON.stringify(data)); } }; let fields, params; fields = [ ]; params = { 'name' : 'Test Hotel Set', 'filter' : {'brand':{'i_contains':'sample brand'}}, }; const product_sets = (new ProductCatalog(id)).createProductSet( fields, params ); logApiCallResult('product_sets api call complete.', product_sets);
require __DIR__ . '/vendor/autoload.php'; use FacebookAds\Object\ProductCatalog; use FacebookAds\Object\ProductSet; use FacebookAds\Api; use FacebookAds\Logger\CurlLogger; $access_token = '<ACCESS_TOKEN>'; $app_secret = '<APP_SECRET>'; $app_id = '<APP_ID>'; $id = '<PRODUCT_CATALOG_ID>'; $api = Api::init($app_id, $app_secret, $access_token); $api->setLogger(new CurlLogger()); $fields = array( ); $params = array( 'name' => 'Test Hotel Set', 'filter' => array('brand' => array('i_contains' => 'sample brand')), ); echo json_encode((new ProductCatalog($id))->createProductSet( $fields, $params )->exportAllData(), JSON_PRETTY_PRINT);
from facebook_business.adobjects.productcatalog import ProductCatalog from facebook_business.adobjects.productset import ProductSet from facebook_business.api import FacebookAdsApi access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<PRODUCT_CATALOG_ID>' FacebookAdsApi.init(access_token=access_token) fields = [ ] params = { 'name': 'Test Hotel Set', 'filter': {'brand':{'i_contains':'sample brand'}}, } print ProductCatalog(id).create_product_set( fields=fields, params=params, )
import com.facebook.ads.sdk.*; import java.io.File; import java.util.Arrays; public class SAMPLE_CODE_EXAMPLE { public static void main (String args[]) throws APIException { String access_token = \"<ACCESS_TOKEN>\"; String app_secret = \"<APP_SECRET>\"; String app_id = \"<APP_ID>\"; String id = \"<PRODUCT_CATALOG_ID>\"; APIContext context = new APIContext(access_token).enableDebug(true); new ProductCatalog(id, context).createProductSet() .setName(\"Test Hotel Set\") .setFilter(\"{\\"brand\\":{\\"i_contains\\":\\"sample brand\\"}}\") .execute(); } }
require 'facebook_ads' access_token = '<ACCESS_TOKEN>' app_secret = '<APP_SECRET>' app_id = '<APP_ID>' id = '<PRODUCT_CATALOG_ID>' FacebookAds.configure do |config| config.access_token = access_token config.app_secret = app_secret end product_catalog = FacebookAds::ProductCatalog.get(id) product_sets = product_catalog.product_sets.create({ name: 'Test Hotel Set', filter: {'brand':{'i_contains':'sample brand'}}, })

Parameter filter tersusun atas operator dan data berikut:

OperatorJenis Filter

i_contains

Berisi substring. Operator tidak sensitif huruf besar/kecil.

i_not_contains

Tidak berisi substring. Operator tidak sensitif huruf besar/kecil.

contains

Berisi substring. Operator tidak sensitif huruf besar/kecil.

not_contains

Tidak berisi substring. Operator tidak sensitif huruf besar/kecil.

eq

Sama dengan. Operator tidak sensitif huruf besar/kecil.

neq

Tidak sama dengan. Operator tidak sensitif huruf besar/kecil.

lt

Kurang dari. Hanya untuk kolom numerik.

lte

Kurang dari atau sama dengan. Hanya untuk kolom numerik.

gt

Lebih besar dari. Hanya untuk kolom numerik.

gte

Lebih besar atau sama dengan. Hanya untuk kolom numerik.

DataData yang difilter.

hotel_id

Pengidentifikasi unik Anda untuk hotel di dalam katalog.

brand

Merek jaringan hotel.

base_price_amount

Harga dasar per malam untuk hotel ini. Harganya dalam sen (4999 berarti $49,99).

sale_price_amount

Harga obral per malam untuk hotel ini. Harganya dalam sen (4999 berarti $49,99).

currency

Mata uang

city

Kota tempat hotel berada.

country

Negara dari hotel tersebut.

name

Nama paling umum dari hotel tersebut.

star_rating

Peringkat bintang hotel. Nilai yang valid antara 1 sampai 5 dan harus kelipatan 0,5.